В настоящее время использую 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" Пользователь не существует.
Я думаюсказать конечным пользователям, что имя пользователя существует или нет, не совсем безопасно.
Я ошибаюсь?Я что-то не так сделал?
Мне бы хотелось, чтобы только первое исключение сообщило конечным пользователям о том, что вход не выполнен.