NotAuthorizedException:使用Google作为身份提供程序时,令牌不是来自此身份池的受支持提供程序

时间:2018-04-18 07:40:25

标签: javascript amazon-web-services single-sign-on cognito

使用Google调用federatedSignIn后会返回

“NotAuthorizedException:使用Google作为身份提供商时,令牌不是来自此身份池的受支持提供者”

我正在使用第三方库,即angular5-social-login,用于登录谷歌等社交提供商。我相信我已经在Cognito和联合实体中按预期配置了这个。

这是我的示例代码

this.socialAuthService.signIn(socialPlatformProvider).then(
      (userData) => {
        console.log(socialPlatform+" sign in data : " , userData);
        // Now sign-in with userData
        let user = {
          email:userData.email,
          name: userData.name
        }
        Auth.federatedSignIn(
          // Initiate federated sign-in with Google identity provider 
          'google',
          { 
              // the JWT token
              token: userData.idToken,
              expires_at: null
          },
          // a user object
          user
      ).then(a => {
          // ...
          console.log(a)
      });

这是

这是我做的配置

enter image description here

以及联合实体

enter image description here

两者都是相同的谷歌客户端ID

我相信我已经在用户池和联合实体中进行了必要的配置。但是我仍然遇到同样的问题

2 个答案:

答案 0 :(得分:0)

我对您所使用的特定库不熟悉,但是我相信问题很可能是由于您使用的是“ google”字符串。您应该改为传递“ accounts.google.com”。

其他要想到的问题:您确定需要一个用户池吗?也许您只需要一个身份池(联合身份)?如果您只想允许用户使用Google登录,则不需要用户池。

答案 1 :(得分:0)

当我使用cognito进行身份验证时,这个问题发生在我身上。

我建议您检查凭据,并确保您的Cognito App Client ID正确。

您可以从用户池中检查该值

App integration => App client settings