amazon cognito identity js-忘记了无效用户的密码



我正在使用amazon cognito identity js节点模块来实现忘记密码。下面是我的服务代码。

var userData = {
Username: '<username>',
Pool: '<userpool id>',
}
var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData)
return new Promise(function (resolve, reject) {
cognitoUser.forgotPassword({
onSuccess: function (data) {
resolve({
statusCode: 200, response: {
ForgotPasswordResponse: {
Status: 'Success',
Destination: data.CodeDeliveryDetails.Destination
},
}
})
},
onFailure: function (err) {
resolve({
statusCode: 400, response: {
ForgotPasswordResponse: {
Status: 'failure',
Error: err.message
},
}
})
}
});
})
}

如果我传递了不在池中的用户名,代码仍然会进入onSuccess函数,并且不知道它将验证码发送到哪个目的地。如果我将cognito用户池中状态为FORCE_CHANGE_PASSWORD的用户名传递给用户,也会发生同样的情况。请建议处理这种情况。

Wen使用amazon cognito identity js将Congito集成到网站中进行身份验证,如果在cognito池中标记了某些设置,则上述密码方法将无法正常工作。

原始Contio界面导航到设置Cognito用户池->常规设置->应用程序客户端->显示详细信息->安全配置->防止用户存在错误

如果选择";启用(推荐(";则当提交用户池中不存在的用户时,放弃的密码API将永远不会返回失败。

如果您将其切换回";Legacy";则上述密码API再次正常工作。

我已经通知了AWS这个问题,希望他们会考虑解决。

最新更新