从aws cli或nodeJS创build认知池id有错误,参数有什么问题?

我创build了nodeJS脚本来使用“CreateIdentityPool”类来设置我的AWS Cognito Pool ID

var cognitoidentity = new AWS.CognitoIdentity(); var params = { "IdentityPoolName": "samplePool", "AllowUnauthenticatedIdentities": true, "CognitoIdentityProviders": [ { "ClientId": "xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com", /* google client ID */ "ProviderName": "accounts.google.com" } ], "DeveloperProviderName": "mypool" }; cognitoidentity.createIdentityPool(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); 

但是下面有错误:

{[ValidationException:1检测到validation错误:'cognitoIdentityProviders.1.member.clientId'处的值'xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com'未能满足约束:成员必须满足正则expression式模式:[\ w _] +]消息:'1validation错误检测:值'xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com \'在\'cognitoIdentityProviders.1.member.clientId \'未能满足约束:成员必须满足正则expression式模式:[\ w _] + ',code:'ValidationException',time:2017年1月31日星期二21:11:48 GMT + 1100(AEDT),requestId:'ad2b3366-e79d-11e6-b2e7-578f32ddcea5',statusCode:400,
retryable:false,retryDelay:45.71310137398541}

第二种方法,我先尝试创build身份池ID,而不使用CognitIdentityProviders ,然后使用“UpdateIdentityPool”类来添加CognitoIdentityProviders(解锁身份validation提供程序)来运行更新。 但是,这是同样的问题。

第三种方法,我尝试了从aws cli创build标识池标识,然后仍然有同样的问题:

调用UpdateIdentityPool操作时发生错误(ValidationException):1检测到validation错误:'cognitoIdentityProviders.1.member.clientId'上的值'xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e'未能满足约束:成员必须满足正则expression式模式:[\ w _] +

第四种方法,我尝试从aws cli中创build身份池ID,而不使用–cognito-identity-providers,然后从aws cli(add –cognito-identity-providers)更新它。 这仍然是同样的问题。

非常沮丧的这个问题,我必须从nodeJS设置它。 因此,请不要给出build议从AWS控制台解锁身份validation提供程序。 这个问题的参考资料非常差。 真的很感激,如果你可以链接到解决的参考。

谢谢

您正在使用CognitoIdentityProviders但这是针对AWS Cognito用户池的。 您需要设置SupportedLoginProviders才能正常工作。 喜欢这个:

 var params = { "IdentityPoolName": "samplePool", "AllowUnauthenticatedIdentities": true, "SupportedLoginProviders": { "accounts.google.com": "xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com", } };