我创建了 nodeJS 脚本来使用类“CreateIdentityPool”设置我的AWS Cognito 池 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 个验证错误:“cognitoIdentityProviders.1.member.clientId”处的值“xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com”未能满足约束:成员必须满足正则表达式模式:[\w_]+] 消息:“检测到 1 个验证错误:\'cognitoIdentityProviders.1.member.clientId\' 处的值 \'xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com\' 未能满足约束条件:成员必须满足正则表达式模式:[\w_]+ ',代码:'ValidationException',时间:2017 年 1 月 31 日星期二 21:11:48 GMT+1100 (AEDT),requestId:'ad2b3366-e79d-11e6-b2e7-578f32ddcea5',statusCode:400,
可重试:false,retryDelay: 45.71310137398541 }
第二种方式,我首先尝试在没有CognitoIdentityProviders的情况下创建身份池 ID ,然后使用“UpdateIdentityPool”类运行更新以添加 CognitoIdentityProviders(解锁身份验证提供程序)。但是,上面是同样的问题。
第三种方式,我尝试使用来自aws cli的argumen --cognito-identity-providers创建身份池ID,但仍然遇到同样的问题:
调用 UpdateIdentityPool 操作时发生错误 (ValidationException):检测到 1 个验证错误:“cognitoIdentityProviders.1.member.clientId”处的值“xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e”未能满足约束:成员必须满足正则表达式模式:[\w_]+
第四种方法,我尝试从 aws cli 创建没有 --cognito-identity-providers 的身份池 ID,然后从 aws cli 更新它(添加 --cognito-identity-providers)。这仍然是同样的问题。
对这个问题非常沮丧,我必须从 nodeJS 设置它。因此,请不要建议从 AWS 控制台解锁身份验证提供程序。这个问题的参考资料很差。如果您能将我链接到已解决的参考资料,我将不胜感激。
谢谢