我正在使用带有NodeJS后端API的AWS Cognito,并希望在用户令牌客户端应用程序中定义的范围的 / oauth2 / token 端点的访问令牌返回中包含用户详细信息。< / p>
此外,如果我使用 adminInitiateAuth API,则无法将范围包含在返回访问令牌中。那么是否可以在一个访问令牌中同时包含用户详细信息和范围?
答案 0 :(得分:0)
Amazon Cognito返回多个令牌,以成功实现自动认证:一个ID令牌,一个访问令牌,以及一个可选的刷新令牌。
问题1:令牌中的用户详细信息
ID令牌包含一些PII详细信息,例如使用名称和电子邮件地址。
使用AWS amplify时,可以使用Auth.currentAuthenticatedUser()
从Cognito检索用户详细信息
https://aws-amplify.github.io/docs/js/authentication
问题2:adminInitiateAuth
当前不支持此功能 https://github.com/aws-amplify/aws-sdk-android/issues/477
答案 1 :(得分:0)
Cognito不支持访问令牌中的自定义声明,我认为这是一个非常好的设计选择。
您可以通过声明缓存以更加可扩展的方式在API和UI中相当轻松地管理额外/自定义数据: https://authguidance.com/2017/10/03/api-tokens-claims/
我的一个节点样本在这里执行此操作: https://github.com/gary-archer/authguidance.websample2
这是一种通常由API网关(例如AWS)实现的模式: https://authguidance.com/2018/12/16/serverless-api-deployment/