У нас есть пользовательский пул, который уже был создан без установки псевдонима электронной почты для username
.Мы не хотим проходить через хлопоты по воссозданию пула пользователей, но мы хотим использовать уникальные электронные письма.
Когда пользователи регистрируются на нашем сайте, мы используем метод UserPool.signUp
для их регистрации.
export function* registerUser(...) {
...
const userPool = new CognitoUserPool(poolData);
return yield new Promise((resolve, reject) => {
userPool.signUp(username, password, attributes, [], (err, result) => {
if (err) {
reject(err);
}
resolve(result);
});
});
}
Лямбда при предварительной регистрации возвращает ошибку, когда пользователь указывает уже используемое электронное письмо.Пока все хорошо.
{"__type":"UserLambdaValidationException","message":"PreSignUp failed with error Email already exists."}
Но есть также API cognitoUser.updateAttributes({ email }, ...)
, который позволяет пользователям изменять свою электронную почту.
К сожалению, я не могу найти триггер updateAttributes
вCognito UI.
Можно ли запретить пользователю переход на электронную почту, которая уже каким-либо образом используется?