AWS Amplify Auth / Cognito слишком много говорят? - PullRequest
0 голосов
/ 05 февраля 2019

В настоящее время использую Cognito Javascript SDK , я немного удивлен, когда меня предупреждают, существует ли отправляемое имя пользователя или нет:

Вот код, который я использую:

login(username, password) {
    const authenticationData = {
      Username : username,
      Password : password,
    };

    const authenticationDetails = new AuthenticationDetails(authenticationData);

    const userPool = new CognitoUserPool(this.poolData);
    const userData = {
      Username : username,
      Pool : userPool,
    };

    this.cognitoUser = new CognitoUser(userData);
    this.cognitoUser.authenticateUser(authenticationDetails, {
      onSuccess: function (result) {
        console.log(result);
      },
      newPasswordRequired: function(...) {

      },
      onFailure: function(err) {
        console.log(err);
      },
    });
  }

Если я установил username на mytest (существующий пользователь) с неверным паролем, я получаю следующую ошибку:

«NotAuthorizedException» Неверное имя пользователя илипароль.

Все в порядке.Но если я установлю username на test12345 (несуществующий пользователь), я получу эту ошибку:

"UserNotFoundException" Пользователь не существует.

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

Я ошибаюсь?Я что-то не так сделал?

Мне бы хотелось, чтобы только первое исключение сообщило конечным пользователям о том, что вход не выполнен.

...