AWS Cognito:Cognito 用户池的元数据 URL 在哪里?

Posted

技术标签:

【中文标题】AWS Cognito:Cognito 用户池的元数据 URL 在哪里?【英文标题】:AWS Cognito: where is the metadata URL of Cognito User Pool? 【发布时间】:2022-01-18 15:02:31 【问题描述】:

我正在尝试使用 AWS Cognito 作为我在 AWS API Gateway 中的 REST API 的授权方。

它要求我填写Issuer URL

我翻遍了 AWS Cognito 用户池页面,没有这样的东西。

我在这里找到了相关答案:AWS: Cognito integration with a beta HTTP API in API Gateway? 我引用:

Issuer URL: Check the metadata URL of your Cognito User Pool 
(construct the URL in this format :: https://cognito-idp.
[region].amazonaws.com/[userPoolId]/.well-known/openid-configuration 
:: look for a claim named "issuer". Copy its Value and paste it here.

我当然可以像上面说的那样构建 url。

不过,metadata URL of my Cognito User Pool????

问这个问题我是否错过了一些真正基本的东西并且绝对愚蠢?

它在哪里??

这快把我逼疯了。

【问题讨论】:

【参考方案1】:

Cognito 用户池的颁发者 URL 具有以下格式:

https://cognito-idp.[region].amazonaws.com/[userPoolId]

正如您所说的那样,您可以从 Cognito 著名的元数据端点获取它,该端点位于

https://cognito-idp.[region].amazonaws.com/[userPoolId]/.well-known/openid-configuration

此文件为 JSON 格式,并包含一个 issuer 字段,其中包含上述 URL。整个文件如下所示:


   "authorization_endpoint":"https://cognito-idp.[region].amazonaws.com/[userPoolId]/authorize",
   "id_token_signing_alg_values_supported":[
      "RS256"
   ],
   "issuer":"https://cognito-idp.[region].amazonaws.com/[userPoolId]",
   "jwks_uri":"https://cognito-idp.[region].amazonaws.com/[userPoolId]/.well-known/jwks.json",
   "response_types_supported":[
      "code",
      "token"
   ],
   "scopes_supported":[
      "openid",
      "email",
      "phone",
      "profile"
   ],
   "subject_types_supported":[
      "public"
   ],
   "token_endpoint":"https://cognito-idp.[region].amazonaws.com/[userPoolId]/token",
   "token_endpoint_auth_methods_supported":[
      "client_secret_basic",
      "client_secret_post"
   ],
   "userinfo_endpoint":"https://cognito-idp.[region].amazonaws.com/[userPoolId]/userInfo"

【讨论】:

我希望他们能清楚地写出 Issuer URL 有这样那样的格式。或者我只是在文档中错过了它

以上是关于AWS Cognito:Cognito 用户池的元数据 URL 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

链接到 Cognito 用户池的 AWS Amplify GraphQL 架构

AWS Cognito 用户池的事件触发器对象

是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?

如何修改 AWS Cognito 用户池的访问令牌和身份令牌的到期时间

创建 AWS Cognito 用户池时出现 Terraform 错误

在本地使用 Cognito [离线]