Проверка только «кода» с помощью CognitoUser (npm: amazon-cognito-identity-js)

#javascript #amazon-web-services #authentication #npm #amazon-cognito

Вопрос:

В настоящее время я использую следующее при реализации функции «забыть пароль», но сначала я хотел проверить «проверочный код», а «пароль» позже, но сейчас ему нужны оба параметра: новый пароль и код для проверки и обновления пароля одновременно.

    getUser(values.email).confirmPassword(values.code, values.password, {
          onSuccess: (data) => {
            console.log("onSuccess", data); 
            setStage(2);
          },
          onFailure: (data) => {
            console.log("onFail", data);
            return;
          },
        });
const getUser = (Username) => {
  return new CognitoUser({ Username, Pool });
};
 

Ответ №1:

Вы мало что можете сделать с этим поведением. Это просто то, как работает конечная точка API в Cognito. Конечная точка ConfirmForgotPassword содержит как код, так и новый пароль в качестве обязательных параметров. Ответ сообщит вам, был ли пароль неверным (если он не соответствует настроенным правилам) или если код был недействительным/истек срок действия.

Код доставляется только на конечное устройство. Это означает, что вы никогда его не увидите и поэтому не сможете сказать, правильный он или нет. Это то, что сделает Cognito.

Комментарии:

1. Спасибо, также я заметил, что, когда мы создаем экземпляр CognitoUser, он не выдает ошибку, если адрес электронной почты/имя пользователя даже не присутствовало в пуле, он просто продолжается