我被困在“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); });
目前 AWS Cognito 似乎不能完美地处理客户端机密。它会在不久的将来工作,但目前它仍然是一个测试版。
对我来说,它适用于没有客户端密码的应用程序,但对于具有客户端密码的应用程序则失败。
因此,在您的用户池中尝试创建一个新应用程序而不生成客户端密码。然后使用该应用注册新用户或确认注册。