使用 Authing 替换 Cognito 方案
本文讲述使用 Authing 的 OIDC Provider 作为 AWS API Gateway 的认证器 , 用于保护 Lambda 函数 。 无需编写任何鉴权代码 , 只需要在两边配置即可完成 。 同时还演示了 Authing 可以根据上下文不同情况来签发自定义字段的 OIDC IdToken 能力 。
Authing 控制台配置注册一个 Authing 账号
- 访问, 注册一个账号
文章插图
2. 登录进入 Authing 控制台
文章插图
创建一个用户池
文章插图
文章插图
创建一个应用
文章插图
文章插图
在应用列表找到刚刚创建的应用 , 点击配置 。 在下方签名算法处选择 RS256 。
创建用户
进入用户管理 > 用户列表 , 点击右上角的新建按钮 , 创建两个用户:steve.zhang@kone.com 和 steve.zhang2@kone.com , 密码为 123456 , 最后点击保存 。
文章插图
文章插图
设置 Token 自定义字段
【使用 Authing 替换 Cognito 方案】进入扩展能力 > 流水线 Pipeline , 在最右侧「OIDC 签发 Token 前」位置 , 点击下面的加号 。
文章插图
选择添加自定义 IdToken 。
文章插图
在弹出的抽屉中 , 输入以下自定义代码来自定义 Token 字段 。 最后点击上传 。
async function pipe(user, context, callback) {if(user.email === 'steve.zhang@kone.com') {user.addIdToken("companyCode", "kone")}if(user.email === 'steve.zhang2@kone.com') {user.addIdToken("companyCode", "kone2")}callback(null, user, context)}
文章插图
AWS 控制台配置创建 API Gateway
进入 AWS API Gateway 控制台 , 点击「创建 API」 。
文章插图
选择 HTTP API , 然后点击「构建」 。
文章插图
填写 API 名称 , 点击「下一步」 。
文章插图
点击「下一步」 。
文章插图
点击「下一步」
文章插图
点击「创建」 。
文章插图
创建 Lambda 函数
进入 AWS Lambda 控制台 , 点击「创建函数」 。
文章插图
按下图方式创建 Lambda 函数 , 函数名称可以任意填写 。
文章插图
为 Lambda 函数添加触发器
文章插图
选择 API Gateway 。
文章插图
选择刚刚创建的 API Gateway , 点击「添加」 。
文章插图
点击 Lambda 函数 , 向下滚动浏览器窗口 , 进入编辑界面 。
文章插图
输入以下代码 , 用于返回 Token 中的信息 , 包括 companyCode 。
exports.handler = async (event) => {// TODO implementconst token = event.headers.authorization.replace('Bearer ', '');const claims = event.requestContext.authorizer.claims;const response = {statusCode: 200,body: JSON.stringify({token,claims,companyCode: claims.companyCode})};return response;};
最后点击「Deploy」 。文章插图
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- QuestMobile|QuestMobile:百度智能小程序月人均使用个数达9.6个
- 轻松|使用 GIMP 轻松地设置图片透明度
- 电池容量|Windows 自带功能查看笔记本电脑电池使用情况,你的容量还好吗?
- 部门|日本拟全面替换1000架中企无人机!在担心什么?
- 撕破脸|使用华为设备就罚款87万,英政府果真要和中国“撕破脸”?
- 冲突|智能互联汽车:通过数据托管模式解决数据使用方面的冲突
- 鼓励|(经济)商务部:鼓励引导商务领域减少使用塑料袋等一次性塑料制品
- 机身|轻松使用一整天,OPPO K7x给你不断电体验