AWS Cognito - Как определить, зарегистрировался ли пользователь по электронной почте или номеру телефона - PullRequest
0 голосов
/ 08 марта 2019

Мы внедрили пользовательские триггеры аутентификации, как описано здесь .У нас настроен пул пользователей, чтобы пользователи могли входить по телефону или электронной почте.

Проблема, с которой я сталкиваюсь, заключается в определении, на каком носителе (электронная почта или номер телефона) пользователь вошел в систему.Я использую CognitoIdentityServiceProvider # signUp для регистрации / входа пользователя.

При наблюдении за событием, переданным в триггеры определения / создания / проверки подлинности, кажется, что не проходит через то, что имя пользователя использовалось для инициации потока аутентификации ... только атрибуты пользователя, которые в моем случае естьможет быть как электронная почта или телефон.Мне нужно знать, какой это, поэтому я знаю, если мне нужно отправить код через SMS или электронную почту.

Я попытался добавить пользовательский атрибут пользователя с префиксом custom:, чтобы я мог сделать что-то вродеcustom:preferredAuthMedium но, похоже, это не заполняет карту UserAttributes для пользователя, хотя в документах говорится, что это должно быть.

Существует ли стандартный способ сделать это с помощью пользовательского потока аутентификации?

1 Ответ

0 голосов
/ 08 марта 2019

Различные носители требуют своего подтверждения.

В следующих атрибутах указано, на каком носителе зарегистрирован пользователь или проверен,

  • phone_number_verified - это номер телефона.
  • email_verified для электронной почты.

Надеюсь, это поможет.

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