Электронная почта не может быть подтверждена автоматически, если пользователь не подтвержден автоматически
Поэтому я использую лямбда-пре-регистрационный тигр в Cognito для создания собственной электронной почты. Когда я пытаюсь установить autoVerifyEmail=true
Я получаю сообщение об ошибке:
Phone or email cannot be auto verified, when user is not being auto confirmed.
Так какой смысл в этом лямбда-триггере, если я изменяю какие-либо подробности события, и все равно получаю ошибку. Моя цель здесь - реализовать пользовательскую проверку электронной почты, которая будет использовать admin_confirm_sign_up() для проверки пользователя в конце.
2 ответа
Помимо автоматического подтвержденияemail
илиphone
, вам необходимо пометить пользователя для автоподтверждения:
// https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html#aws-lambda-triggers-pre-registration-example-2
export const handler = async(event) => {
event.response.autoConfirmUser = true;
event.response.autoVerifyEmail = true;
return event;
};
Просто обратите внимание, что подобная автоматическая проверка обычно противоречит лучшим практикам :
Когда новые пользователи регистрируются в вашем приложении, вы, вероятно, захотите, чтобы они предоставили хотя бы один способ связи...
... важно, чтобы вы отправляли свои сообщения в проверенный пункт назначения. В противном случае вы можете отправлять свои сообщения на недействительный адрес электронной почты или номер телефона, который был введен неправильно. Или, что еще хуже, вы можете отправить конфиденциальную информацию злоумышленникам, которые выдают себя за ваших пользователей.