我正在使用Cognito AmazonWebService和AngularJS进行应用程序用户管理。
我不知道如何解决这个问题:
注册后,用户会收到一封带有确认代码的电子邮件。当我尝试输入并验证代码时,我有一个弹出消息说" Error: the user is not authenticated
"。
但是,如果我交换了我无法验证自己的步骤,因为我有此错误:"Your account must be confirmed"
.
编辑:这就是我确认注册的方式:
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(_poolData);
var userData = {
Username : username,
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getAttributeVerificationCode('email', {
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
console.log("error");
alert(err);
},
inputVerificationCode: function(code) {
var verificationCode = prompt('Check you email for a verification code and enter it here: ' ,'');
cognitoUser.verifyAttribute('email', verificationCode, this);
}
});
我也在下面尝试了这段代码:
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
但是每次我使用您给我的代码来确认用户时,我都会收到以下错误消息:"ExpiredCodeException: Invalid code provided, please request a code again."
虽然用户在我的用户池中得到了很好的确认......
我该如何解决?
您的第二个代码是正确的调用代码。您等多久才能打电话?