我在Amazon WebService上使用Cognito在AngularJS上注册我的用户。
我有一个非常奇怪的错误:
如果用户直接尝试使用通过电子邮件收到的验证码来确认帐户,则他们始终会收到以下错误消息:"ExpiredCodeException: Invalid code provided, please request a code again"
尽管他们已经在用户池中确认了帐户...
但如果他们自己注册并等待几分钟试图确认他们的帐户完美无瑕!
这是我确认验证码的方式:
confirmRegistration: function(verificationCode, username, _poolData) {
var deferred = $q.defer();
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(_poolData);
var userData = {
Username : username,
Pool : userPool
};
cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration(verificationCode, true, function(err, result) {
if (err) {
alert(err);
deferred.reject('confirmation failled.');
}
deferred.resolve('successfully confirmed.')
});
return deferred.promise;
},
我该怎么办? 这个问题在哪里? 设置某处是否有超时?