如何重设AWS Cognito用户的密码?

问题描述 投票:0回答:1

如果我在AWS Cognito中单击某个用户的“重置密码”按钮,它所做的就是重新发送包含帐户注册电子邮件代码的验证电子邮件。

但是,如果用户采用该代码并将其输入到验证页面上,则AWS返回错误:

NotAuthorizedException: User cannot be confirmed. Current status is RESET_REQUIRED

首先,我如何让Cognito发送真实的“密码重置”电子邮件而不是“确认您的注册”电子邮件?

我认为这是给我这个错误的,因为验证JS正在调用:

createCognitoUser(email).confirmRegistration(code, true, function confirmCallback(err, result)

而不是一些未公开的密码重置功能。我应该调用什么功能?

javascript amazon-cognito
1个回答
0
投票

您应该呼叫forgotPassword。从AWS文档的Using Amazon Cognito User Identity Pools Javascript Examples

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);
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.