提供用户重置Cognito中过期的临时密码的功能

时间:2018-09-14 16:28:05

标签: amazon-web-services amazon-cognito

我知道管理员可以使用以下命令从控制台重置用户的临时密码

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”

1 个答案:

答案 0 :(得分:0)

如果将来有人需要答案,只想发布AWS支持的官方回复。

  
      
  1. 我可以看到错误是由API resendConfirmationCode引起的   应该在没有任何凭据的情况下被调用,但是,该错误   指示消息为“ NotAuthorizedException”。这个API被称为   多次?这可能会触发匿名的AWS后端保护   攻击。

  2.   
  3. 您能否尝试用相同的电子邮件创建一个新用户并使用   使用相同的API发送确认代码?如果有现有用户   使用相同的电子邮件地址但未确认,则可以创建一个   具有相同电子邮件地址的新用户。

  4.