如果我在AWS Cognito中单击某个用户的“重置密码”按钮,它所做的就是重新发送包含帐户注册电子邮件代码的验证电子邮件。
但是,如果用户使用该代码并将其输入到验证页面上,则AWS返回错误:
NotAuthorizedException: User cannot be confirmed. Current status is RESET_REQUIRED
首先,我如何让Cognito发送真实的“密码重置”电子邮件,而不是“确认您的注册”电子邮件?
我认为是因为验证JS正在调用而导致出现此错误
createCognitoUser(email).confirmRegistration(code, true, function confirmCallback(err, result)
,而不是一些未公开的密码重置功能。我应该调用什么功能?
答案 0 :(得分:0)
您应该呼叫forgotPassword。从Using Amazon Cognito User Identity Pools Javascript Examples的AWS文档中:
cognitoUser.forgotPassword({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
},
inputVerificationCode() {
var verificationCode = prompt('Please input verification code ' ,'');
var newPassword = prompt('Enter new password ' ,'');
cognitoUser.confirmPassword(verificationCode, newPassword, this);
}
});