当他的状态为FORCE_CHANGE_PASSWORD时,我需要恢复或重置用户密码。此情况发生在用户尝试使用“忘记密码”功能恢复密码时,他丢失了带有临时密码的电子邮件。现在他不能做任何事情,因为他不记得密码,也不能再次重置密码
此代码句柄忘记密码
return CognitoIdentitySP.forgotPassword(params, (err, resp) => {
if (err) { ... }
...
})并且我收到错误(在FORCE_CHANGE_PASSWORD状态的情况下)
NotAuthorizedException: User password cannot be reset in the current state.
有没有办法在这种状态下重置密码?
发布于 2018-11-01 08:14:05
您可以使用aws-cli来执行此操作。下面是一个示例命令,请相应地替换POOL_ID和EMAIL_ADDRESS:
aws cognito-idp admin-create-user --user-pool-id <POOL_ID> --username <EMAIL_ADDRESS> --message-action RESEND --profile <AWS_PROFILE>发布于 2020-07-23 20:53:58
在临时密码丢失或过期的情况下,您也可以使用admin-set-user-password命令:
aws cognito-idp admin-set-user-password --user-pool-id <POOL_ID> --username <USERNAME> --password <PASSWORD> --no-permanent这将为您设置的任何密码设置一个新的临时密码,但重要的是,它将强制用户在登录时立即设置新密码,因此安全性得到了维护。
您需要将此信息传达给用户,但当您的公司的安全策略阻止您运行create user命令时,我们发现这一点非常有用。
发布于 2017-12-06 07:49:34
您可以再次调用admin create user,并将MessageAction设置为RESEND,在这种情况下,Cognito将向已经存在的用户重新发送邀请消息,并重置该用户帐户的过期限制。设置为" suppress“可禁止发送消息。只能指定一个值。
https://stackoverflow.com/questions/47654859
复制相似问题