Cognito - электронные письма не отправляются после импорта пользователей - PullRequest
0 голосов
/ 07 сентября 2018

Я импортировал CSV-файл с пользователями в AWS Cognito User Pool. У пользователей есть адреса электронной почты с атрибутом email_verified , отмеченным как TRUE, и атрибутом phone_verified , отмеченным как FALSE. Задание импорта выполнено успешно, однако пользователям не отправляется электронное письмо с кодом сброса. Я посмотрел документацию AWS и там говорится:

Чтобы пользователи могли сбросить свои пароли, они должны иметь подтвержденный адрес электронной почты или номер телефона. Amazon Cognito отправляет сообщение, содержащее код сброса пароля, на адрес электронной почты или номер телефона, указанный в файле .csv. Если сообщение отправлено на номер телефона, оно отправляется с помощью SMS.

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

Вот мой CSV, просто пример:

Cognito: имя пользователя, имя, given_name, family_name, middle_name, прозвище, preferred_username, профиль, фотография, веб-сайт, электронная почта, email_verified, пол, дата рождения, ZoneInfo, локаль, phone_number, phone_number_verified, адрес updated_at, Cognito: mfa_enabled

Джон, Джон, Джон Доу ,,,,,,, JohnDoe @ example.com, TRUE FALSE ,,,,,, ,,, FALSE

1 Ответ

0 голосов
/ 07 сентября 2018

Прежде всего, почему вы сделали cognito:mfa_enabled, но мобильные телефоны пользователя не проверены?

Всем пользователям необходимо установить свой пароль, так как Cognito не разрешает импорт пароля. И для этого вам нужно присвоить true RESET_REQUIRED.

Если у вас небольшое количество пользователей, вы можете сбросить пароль пользователя через веб-консоль: нажмите на пользователя, и эта опция находится вверху. Или же вы можете использовать интерфейс командной строки AWS, как описано здесь .

Сброс паролей Если у вас большое количество пользователей и вы не хотите нажимать «Сбросить пароль» (очевидно), вам нужно иметь веб-приложение / API, чтобы сделать это за вас. Поскольку каждый раз, когда пользователь хочет сбросить пароль, он получает код подтверждения от Cognito. Вам нужно иметь рабочий процесс на месте.

После того как вышеуказанный рабочий процесс заработал, вам нужно получить список имен пользователей с помощью Cognito API, поместить его в список, а затем отправить запрос один за другим.

Кроме того, в Python вы можете использовать Boto, прочитайте о сбросе пользовательских паролей в качестве администратора .

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