使用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)
});
这是
这是我做的配置
以及联合实体
两者都是相同的谷歌客户端ID
我相信我已经在用户池和联合实体中进行了必要的配置。但是我仍然遇到同样的问题
答案 0 :(得分:0)
我对您所使用的特定库不熟悉,但是我相信问题很可能是由于您使用的是“ google”字符串。您应该改为传递“ accounts.google.com”。
其他要想到的问题:您确定需要一个用户池吗?也许您只需要一个身份池(联合身份)?如果您只想允许用户使用Google登录,则不需要用户池。
答案 1 :(得分:0)
当我使用cognito
进行身份验证时,这个问题发生在我身上。
我建议您检查凭据,并确保您的Cognito App Client ID正确。
您可以从用户池中检查该值
App integration => App client settings