Предоставление пользователю возможности сбрасывать просроченный временный пароль в Cognito - PullRequest
0 голосов
/ 14 сентября 2018

Я знаю, что администратор может сбросить временный пароль пользователя из консоли, используя следующую команду

aws cognito-idp admin-create-user --region us-east-1 --user-pool-id us-east-1_youruserpoolid --username theusername --message-action RESEND

Но здесь мне нужно кое-что, когда у пользователя есть опция триггера, и после этого триггера он должен получить новый временный пароль для своегоЭл. адрес.Это что-то вроде самообслуживания, когда пользователю не нужно звонить администратору для сброса временного пароля.

Я пытался использовать 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"}

code: "NotAuthorizedException"
сообщение: "Не удается повторно отправить код подтверждения для этого пользователя"
name: "NotAuthorizedException"

1 Ответ

0 голосов
/ 21 сентября 2018

Просто хотел выложить официальный ответ от поддержки AWS, если кому-то понадобится ответ в будущем.

  1. Я вижу, что ошибка вызвана API resendConfirmationCodeкоторый должен вызываться без каких-либо учетных данных, однако в сообщении об ошибке указано «NotAuthorizedException».Этот API вызывается много раз?Это может вызвать защиту на стороне сервера AWS от анонимных атак.

  2. Можете ли вы попытаться создать нового пользователя с тем же адресом электронной почты и использовать тот же API для отправки кода подтверждения?Если существует пользователь с таким же адресом электронной почты, но не подтвержденный, то можно создать нового пользователя с тем же адресом электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...