首页 > 解决方案 > AWS Cognito 作为 AWS AppSync 的开放 ID 授权方

问题描述

我需要将 AWS Cognito 用户池与不同 AWS 账户上的OAuthclient_credentials流一起使用,作为不同AWS 账户上 AWS AppSync 应用程序的授权提供商。

我将 Amazon Cognito 域(下面的测试示例)添加到 AppSync 上的授权提供商

在此处输入图像描述

我能够获得有效的访问令牌。但是,当我使用该令牌在 AppSync 上发出请求时,我收到以下错误:

{
    "errors": [
        {
            "errorType": "UnauthorizedException",
            "message": "Valid authorization header not provided."
        }
    ]
}

是否可以将 Amazon Cognito 域用作不同账户中 AppSync 上的 OIDC 颁发者 URL?还是我使用了错误的域?

我知道这几乎可以通过使用“Amazon Cognito 用户池”授权提供程序开箱即用,但只有在 Cognito 和 AppSync 在同一个帐户上时才有效。我还得到了 AuthO OIDCclient_credentials来按照这个文档工作,但如果可能的话,我想在不同的帐户上使用 cognito。

标签: amazon-cognitoopenid-connectaws-appsync

解决方案


颁发者 URL 应如下所示:

https://cognito-idp.<aws-region>.amazonaws.com/<userpool-id>

来源: https ://github.com/awslabs/aws-support-tools/tree/master/Cognito/decode-verify-jwt


推荐阅读