OAuth Cognito ID 令牌未经授权
OAuth Cognito ID token unauthorized
我有一个 Cognito 用户 pool/app 客户端设置,具有 OAuth 流程和标准范围(电子邮件、管理员等)和几个第 3 方提供商(google、azure 等)。我想在请求上下文中获取身份数据,这意味着我需要使用 id 令牌,但使用 id 令牌会使我收到来自 api 网关的未经授权的响应,而访问令牌按预期工作。我记得在某处读到自定义范围不允许 id 令牌身份验证,但我没有自定义范围设置。了解这里发生的事情吗?
来自Integrate a REST API with an Amazon Cognito user pool:
With the COGNITO_USER_POOLS authorizer, if the OAuth Scopes option
isn't specified, API Gateway treats the supplied token as an identity
token and verifies the claimed identity against the one from the user
pool. Otherwise, API Gateway treats the supplied token as an access
token and verifies the access scopes that are claimed in the token
against the authorization scopes declared on the method.
OAuth 范围仅存在于访问令牌中。基于访问令牌有效这一事实,您已经为端点指定了一个或多个 OAuth 范围。
如果您有一个有效的访问令牌,您可以使用它的值通过 USERINFO endpoint.
获取有关经过身份验证的用户的信息
我有一个 Cognito 用户 pool/app 客户端设置,具有 OAuth 流程和标准范围(电子邮件、管理员等)和几个第 3 方提供商(google、azure 等)。我想在请求上下文中获取身份数据,这意味着我需要使用 id 令牌,但使用 id 令牌会使我收到来自 api 网关的未经授权的响应,而访问令牌按预期工作。我记得在某处读到自定义范围不允许 id 令牌身份验证,但我没有自定义范围设置。了解这里发生的事情吗?
来自Integrate a REST API with an Amazon Cognito user pool:
With the COGNITO_USER_POOLS authorizer, if the OAuth Scopes option isn't specified, API Gateway treats the supplied token as an identity token and verifies the claimed identity against the one from the user pool. Otherwise, API Gateway treats the supplied token as an access token and verifies the access scopes that are claimed in the token against the authorization scopes declared on the method.
OAuth 范围仅存在于访问令牌中。基于访问令牌有效这一事实,您已经为端点指定了一个或多个 OAuth 范围。
如果您有一个有效的访问令牌,您可以使用它的值通过 USERINFO endpoint.
获取有关经过身份验证的用户的信息