AWS cognito:“访问令牌不包含 openid 范围”

Lê *_*Bảo 2 oauth-2.0 amazon-cognito

我在尝试从 AWS Cognito 获取用户属性时遇到了这个问题。

我不知道它怎么可能是“无效令牌”,因为我已经复制并粘贴了它,而且我还确保它不是accessTokenidToken其他任何东西。

该网站上还有其他一些类似的问题,但它们没有解决我的问题:

AWS Cognito 中的“访问令牌不包含 openid 范围”

访问令牌没有 openid 范围

更新:这里是我的应用程序客户端配置

在此输入图像描述

Pha*_*iệt 5

好的,我已经给你详细介绍了。

简短回答:您必须使用oauth2 Cognito 身份验证,而不是使用 SDK 中默认的 Cognito 身份验证 API。

让我解释一下您遇到错误的原因:您正在使用 Cognito 身份验证,然后 Cognito 返回给您一个不包含“openid”范围的“访问令牌”,您可以将令牌粘贴到此处进行检查:https ://jwt.io/ #encoded-jwt

您必须使用oauth2身份验证来获取包含“openid”的“访问令牌”。为此,您必须使用托管 UI 或AUTHORIZATION 端点来获取“访问令牌”。

您可以通过访问链接尝试托管 UI(请编辑您的域名+response_type+client_id+redirect_uri):https: //tsunami.auth.us-east-2.amazoncognito.com/login ?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_SIGNIN_URL

您可以使用授权端点:https://tsunami.auth.us-east-2.amazoncognito.com/oauth2/authorize ?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_SIGNIN_URL&identity_provider=COGNITO,它将重定向到托管 UI

  • 我使用自定义 UI,而不是来自 aws amplify 的托管 UI 和身份验证 api。返回的访问令牌没有 openid 范围。可以修复吗?或当我们不使用托管 UI 时所需的行为 (2认同)