Требуется пароль для изменения электронной почты Cognito? - PullRequest
0 голосов
/ 22 января 2019

Я могу запросить изменение адреса электронной почты для вошедшего в систему пользователя без указания пароля с помощью Cogito API, здесь с помощью функции JavaScript:

export function* updateEmail(username: string, email: string) {
    const cognitoUser = getCognitoUser(username);
    const attributes: ICognitoUserAttributeData[] = [{
        Name: 'email',
        Value: email,
    }];

    return yield new Promise((resolve, reject) => {
        cognitoUser.getSession((error: Error, session: {}) => {
            if (error) {
                reject(error);
            }
            cognitoUser.updateAttributes(attributes, (err, result) => {
                if (err) {
                    reject(err);
                }
                resolve(result);
            });
        });
    });
}

Это может позволить злоумышленнику изменить пароль вошедшего в систему пользователя, который оставил свой компьютер разблокированным:

  • Запрос изменения электронной почты
  • Подтвердите новый адрес электронной почты
  • Запрос на изменение пароля
  • Сменить пароль

Как остановить эту атаку?

Возможно ли, чтобы Cognito требовал пароль для запроса изменения электронной почты?

1 Ответ

0 голосов
/ 23 января 2019

Невозможно заставить Cognito запрашивать пароль при изменении адреса электронной почты.Вы должны реализовать это самостоятельно, разместив форму смены адреса электронной почты за дополнительным этапом входа в систему или что-то подобное

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