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 架构
是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?
如何修改 AWS Cognito 用户池的访问令牌和身份令牌的到期时间