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

Kid*_*g_C 7 amazon-web-services amazon-cognito aws-api-gateway

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

它要求我填写Issuer URL

在此输入图像描述

深入研究AWS Cognito用户池页面,发现根本没有这样的事情。

我在这里找到了相关的答案:AWS:Cognito与API网关中的测试版HTTP API集成? 我引用:

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.
Run Code Online (Sandbox Code Playgroud)

我当然可以如上所述构建 url。

但仍然,哪里是metadata URL of my Cognito User Pool???

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

它在哪里??

这真让我抓狂。

Tob*_*ann 10

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

https://cognito-idp.[region].amazonaws.com/[userPoolId]
Run Code Online (Sandbox Code Playgroud)

正如您所说的正确,您可以从 Cognito 众所周知的元数据端点获取它,该端点位于

https://cognito-idp.[region].amazonaws.com/[userPoolId]/.well-known/openid-configuration
Run Code Online (Sandbox Code Playgroud)

该文件是 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"
}
Run Code Online (Sandbox Code Playgroud)

  • 我希望他们能清楚地写出发行者 URL 有这样那样的格式。或者也许我只是在文档中遗漏了它 (3认同)