我陷入了"Amazon Cognito Identity用户池"流程.
我尝试了所有可能的代码来验证cognito用户池中的用户.但我总是得到错误说"错误:无法验证客户端4b*******fd的秘密哈希".
这是代码:
AWS.config.region = 'us-east-1'; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:b64bb629-ec73-4569-91eb-0d950f854f4f'
});
AWSCognito.config.region = 'us-east-1';
AWSCognito.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:b6b629-er73-9969-91eb-0dfffff445d'
});
AWSCognito.config.update({accessKeyId: 'AKIAJNYLRONAKTKBXGMWA', secretAccessKey: 'PITHVAS5/UBADLU/dHITesd7ilsBCm'})
var poolData = {
UserPoolId : 'us-east-1_l2arPB10',
ClientId : '4bmsrr65ah3oas5d4sd54st11k'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'ronakpatel@gmail.com',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true,function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
Run Code Online (Sandbox Code Playgroud) 我希望我的应用程序允许用户使用Facebook,Google,Amazon ...等帐户才能登录我的应用程序.这可以通过AWS Cognito正常工作.
但是,如果用户没有任何登录,应用程序是否可以通过编程方式创建用户登录?
用户将提供id和密码,app将该信息发送给认证提供者以创建新的登录/帐户.
我不需要实现自己的身份验证机制,并担心如何存储密码等.
根据我的研究,我认为现有的身份验证提供程序甚至OpenID等其他服务都无法做到这一点.
如果我不想实现自己的登录存储和身份验证,您还有其他选择吗?它不一定需要与AWS Cognito集成.
authentication federated-identity amazon-web-services amazon-cognito
我正在使用 CloudFormation 模板创建Cognito 用户池和测试用户。我这样做是为了自动测试登录、用户管理代码和令牌代码。
但是,似乎没有办法将密码设置为某个已知值,以便测试代码可以继续登录,这将是测试其他所有内容的第一步。
相关问题,但答案是“检查您的电子邮件帐户”,这不适用于自动化测试: Cloud Formation AWS::Cognito::UserPoolUser 临时密码\
我可以使用 API 以管理方式设置密码(至少 CLI 可以),但我希望我的测试代码尽可能是黑盒。我想在 Cloud Formation 模板中指定所有先决条件,就像我为我正在测试的所有其他东西所做的那样。
这个AWS 论坛回答说“使用自定义资源”,但没有提供有关如何操作的帮助: