使用 Authing 替换 Cognito 方案

本文讲述使用 Authing 的 OIDC Provider 作为 AWS API Gateway 的认证器 , 用于保护 Lambda 函数 。 无需编写任何鉴权代码 , 只需要在两边配置即可完成 。 同时还演示了 Authing 可以根据上下文不同情况来签发自定义字段的 OIDC IdToken 能力 。
Authing 控制台配置注册一个 Authing 账号

  1. 访问, 注册一个账号

使用 Authing 替换 Cognito 方案文章插图
2. 登录进入 Authing 控制台
使用 Authing 替换 Cognito 方案文章插图
创建一个用户池
使用 Authing 替换 Cognito 方案文章插图
使用 Authing 替换 Cognito 方案文章插图
创建一个应用
使用 Authing 替换 Cognito 方案文章插图
使用 Authing 替换 Cognito 方案文章插图
在应用列表找到刚刚创建的应用 , 点击配置 。 在下方签名算法处选择 RS256 。
创建用户
进入用户管理 > 用户列表 , 点击右上角的新建按钮 , 创建两个用户:steve.zhang@kone.com 和 steve.zhang2@kone.com , 密码为 123456 , 最后点击保存 。
使用 Authing 替换 Cognito 方案文章插图
使用 Authing 替换 Cognito 方案文章插图
设置 Token 自定义字段
进入扩展能力 > 流水线 Pipeline , 在最右侧「OIDC 签发 Token 前」位置 , 点击下面的加号 。
使用 Authing 替换 Cognito 方案文章插图
选择添加自定义 IdToken 。
使用 Authing 替换 Cognito 方案文章插图
在弹出的抽屉中 , 输入以下自定义代码来自定义 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)}
使用 Authing 替换 Cognito 方案文章插图
AWS 控制台配置创建 API Gateway
进入 AWS API Gateway 控制台 , 点击「创建 API」 。
使用 Authing 替换 Cognito 方案文章插图
选择 HTTP API , 然后点击「构建」 。
使用 Authing 替换 Cognito 方案文章插图
填写 API 名称 , 点击「下一步」 。
使用 Authing 替换 Cognito 方案文章插图
点击「下一步」 。
使用 Authing 替换 Cognito 方案文章插图
点击「下一步」
使用 Authing 替换 Cognito 方案文章插图
点击「创建」 。
使用 Authing 替换 Cognito 方案文章插图