Javascript AWS Cognito:获取;请提供有效的公共提供商“;与谷歌
当我尝试像这样设置google访问令牌时,我得到400“请提供有效的公共提供商”:Javascript AWS Cognito:获取;请提供有效的公共提供商“;与谷歌,javascript,amazon-web-services,oauth,google-plus,amazon-cognito,Javascript,Amazon Web Services,Oauth,Google Plus,Amazon Cognito,当我尝试像这样设置google访问令牌时,我得到400“请提供有效的公共提供商”: AWS.config.update( { region: window.region, credentials: new AWS.CognitoIdentityCredentials( { IdentityPoolId: window.identityPoolId, Logins: { 'accounts.google
AWS.config.update(
{
region: window.region,
credentials: new AWS.CognitoIdentityCredentials(
{
IdentityPoolId: window.identityPoolId,
Logins:
{
'accounts.google.com': gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token
}
})
});
window.region = Pointer_stringify(region);
window.identityPoolId = 'us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxx';
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = '/aws-sdk.min.js';
po.onload = function()
{
var po2 = document.createElement('script');
po2.type = 'text/javascript';
po2.async = true;
po2.src = '/amazon-cognito.min.js';
po2.onload = function()
{
AWS.config.region = window.region; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials(
{
IdentityPoolId: window.identityPoolId,
});
}
var s2 = document.getElementsByTagName('script')[0];
s2.parentNode.insertBefore(po2, s2);
}
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
Cognito是这样初始化的:
AWS.config.update(
{
region: window.region,
credentials: new AWS.CognitoIdentityCredentials(
{
IdentityPoolId: window.identityPoolId,
Logins:
{
'accounts.google.com': gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token
}
})
});
window.region = Pointer_stringify(region);
window.identityPoolId = 'us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxx';
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = '/aws-sdk.min.js';
po.onload = function()
{
var po2 = document.createElement('script');
po2.type = 'text/javascript';
po2.async = true;
po2.src = '/amazon-cognito.min.js';
po2.onload = function()
{
AWS.config.region = window.region; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials(
{
IdentityPoolId: window.identityPoolId,
});
}
var s2 = document.getElementsByTagName('script')[0];
s2.parentNode.insertBefore(po2, s2);
}
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
我将google客户端id添加到Authention providers的google+选项卡中,并将accounts.google.com添加到OpenID选项卡中。
这只发生在Google上,它与Facebook一起工作。您可能会看到此错误的原因之一是,如果您已将池配置为开发者身份验证流,提供商名称为“accounts.Google.com”。您能否在Cognito控制台中检查池中的自定义身份验证提供程序,并确保未将其设置为“accounts.google.com”?您可能会看到此错误的原因之一是,您是否已将池配置为提供程序名为“accounts.google.com”的开发者身份验证流。您能否在Cognito控制台中检查池中的自定义身份验证提供程序,并确保未将其设置为“accounts.google.com”?问题在于我的身份池指向已删除的用户池。问题在于我的身份池指向已删除的用户池