我知道管理员可以使用以下命令从控制台重置用户的临时密码
aws cognito-idp admin-create-user --region us-east-1 --user-pool-id us-east-1_youruserpoolid --username theusername --message-action RESEND
但是在这里,我需要用户具有触发器选项的东西,在触发器之后,他应该获得新的临时密码到他的电子邮件中。这类似于自助服务选项,用户无需致电admin即可重置其临时密码。
我尝试从
使用resendConfirmationCode
https://github.com/aws-amplify/amplify-js/blob/master/packages/amazon-cognito-identity-js/src/CognitoUser.js
有要求:
{ClientId: "v3miuf2k********", Username: "suni*********"}
得到的答复为:
{code: "NotAuthorizedException", name: "NotAuthorizedException", message: "Can't resend confirmation code for this user"}
代码:“ NotAuthorizedException”
消息:“无法重新发送该用户的确认码”
名称:“ NotAuthorizedException”
答案 0 :(得分:0)
如果将来有人需要答案,只想发布AWS支持的官方回复。
我可以看到错误是由API resendConfirmationCode引起的 应该在没有任何凭据的情况下被调用,但是,该错误 指示消息为“ NotAuthorizedException”。这个API被称为 多次?这可能会触发匿名的AWS后端保护 攻击。
您能否尝试用相同的电子邮件创建一个新用户并使用 使用相同的API发送确认代码?如果有现有用户 使用相同的电子邮件地址但未确认,则可以创建一个 具有相同电子邮件地址的新用户。