Amazon web services 我可以使用Cognito访问令牌生成ID令牌吗?

Amazon web services 我可以使用Cognito访问令牌生成ID令牌吗?,amazon-web-services,amazon-cognito,Amazon Web Services,Amazon Cognito,是否可以使用Cognito访问令牌生成ID令牌?我在网上找不到关于这个的任何文档 我正在尝试使用自定义声明获取ID令牌,但现有的解决方案不适合我的情况()。作为一种解决方法,我考虑在用户登录后直接用访问令牌手动向Cognito请求ID令牌 我试过的 调用Cognito的/oauth2/userinfo端点只返回基本声明,而不是我通过预令牌生成lambda触发器添加的自定义声明 向访问令牌添加自定义声明/属性 我还没有探讨过的想法:使用放大,然后以某种方式让ID令牌通过那个里 您可以使用您的访问

是否可以使用Cognito访问令牌生成ID令牌?我在网上找不到关于这个的任何文档

我正在尝试使用自定义声明获取ID令牌,但现有的解决方案不适合我的情况()。作为一种解决方法,我考虑在用户登录后直接用访问令牌手动向Cognito请求ID令牌

我试过的
  • 调用Cognito的
    /oauth2/userinfo
    端点只返回基本声明,而不是我通过
    预令牌生成
    lambda触发器添加的自定义声明
  • 向访问令牌添加自定义声明/属性
  • 我还没有探讨过的想法:使用放大,然后以某种方式让ID令牌通过那个里

您可以使用您的访问令牌调用Cognito API上的
getUser
方法: 这将提供用户属性:

这将提供与您在ID令牌上获得的数据相同的数据。

如果您需要ID令牌中的属性,不包括开放ID声明,例如exp、iss、aud,那么可能是这样的

但如果您需要ID令牌(符合OIDC标准声明),那么它只由cognito在特定的cognito事件时发出


ID令牌的用途是识别用户。ID令牌通常沿着请求的授权头发送到后端服务器,作为安全措施进行验证。知道ID令牌的用途后,理解为什么只有特定的方法才能获得ID令牌并不奇怪。

谢谢您的参考!看起来这就是Cognito SDK(放大JS就是其中之一)——这就是您所指的吗?Cognito SDK是一个javascript库,您可以在一行中导入它。Amplify是一整套可用于移动开发的工具和服务。使用Cognito SDK是显而易见的选择,这是访问Cognito API的最简单方法,但不是必需的。