【发布时间】:2022-02-12 16:39:29
【问题描述】:
我有一个 cognito 用户池/应用程序客户端设置,其中包含 OAuth 流和标准范围(电子邮件、管理员等)和几个第 3 方提供商(google、azure 等)。我想在请求上下文中获取身份数据,这意味着我需要使用 id 令牌,但使用 id 令牌会得到来自 api 网关的未经授权的响应,而访问令牌按预期工作。我记得在某处读到自定义范围不允许 id 令牌身份验证,但我没有自定义范围设置。对这里发生的事情有任何见解吗?
【问题讨论】:
-
您使用的是 AWS REST API Gateway 还是 HTTP API Gateway?对于 REST API Gateway,仅当您为端点指定了一个或多个 OAuth 范围时,访问令牌才有效。另一方面,id 令牌仅在未指定 OAuth 范围时才有效。
-
@KaustubhKhavnekar REST,这是有道理的。 HTTP 是较新的版本吗?另外,如果我必须使用范围,如何在请求上下文中获取身份信息?我想将我的端点 lambda 放入 VPC,但希望避免进行所有必要的设置以从 vpc 后面获取对 cognito 的访问调用
-
HTTP 稍后发布,但我不会将其描述为“较新”版本,它们适用于不同的用例。 Here is a detailed comparison 介于两者之间。范围仅存在于访问令牌中,而不存在于 id 令牌中。您必须使用访问令牌访问 API,然后使用 USERINFO endpoint 获取用户详细信息。
-
@KaustubhKhavnekar 请在您有时间的时候将其发布为答案,以便我接受
标签: amazon-web-services aws-api-gateway amazon-cognito