Hir*_*ana 23 amazon-cognito aws-lambda
我的应用程序为每个新注册用户创建一个自定义属性“userType”。现在,每当用户登录或刷新令牌时,我都希望将此“userType”声明/属性添加到 JWT 访问令牌中。
是否可以选择告诉 cognito 将我的自定义声明/属性添加到 JWT 访问令牌?(没有预代币生成 Lambda)
sta*_*kOp 12
自定义属性在 Cognito 访问令牌中不可用。目前,也无法使用预令牌生成 Lambda 触发器在访问令牌中注入其他声明。PreToken Generation Lambda Trigger 仅允许您自定义身份令牌(Id Token)声明。
建议在后端系统中使用 ID 令牌进行授权的响应是不良的安全实践。ID 令牌用于确定用户确实已登录以及该用户的身份。这是应该在您的前端执行的事情。另一方面,访问令牌用于确定(到您的后端的)请求是否已获得授权。ID 令牌没有与访问令牌相同的针对欺骗的安全控制(请参阅 Auth0 的此博客:https: //auth0.com/blog/id-token-access-token-what-is-the-difference/)。
相反,我建议您的后端通过AuthorizationHTTP 标头接受访问令牌作为承载令牌。然后,您的后端调用颁发访问令牌的授权服务器上的相应/userinfo端点(请参阅: https: //openid.net/specs/openid-connect-core-1_0.html#UserInfo),将此类访问令牌传递给该端点。此端点将返回所有 ID 令牌信息和声明,然后您可以使用它们在代码中做出授权决策。
更新,23 年 12 月 18 日
AWS 现在可以使用预令牌生成 lambda 通过自定义声明来丰富访问令牌。
这并不能完全回答OP的问题(因为它使用预令牌生成),但是它可能与登陆这里的其他人相关。
发布通知:
文件:
正如评论中所述,目前此功能的可用性存在限制。目前,只能在用户流上添加自定义声明以访问令牌,而不能在客户端凭据流上添加自定义声明。该功能将于 2024 年第二季度推出。信息感谢 BradP
| 归档时间: |
|
| 查看次数: |
10491 次 |
| 最近记录: |