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

Я настроил Cognito, чтобы разрешить как адреса электронной почты, так и номера телефонов. Вот сценарий.

  • Регистрация пользователя A с электронной почтой test@test.com и автоматическая проверка электронной почты с использованием CognitoIdentityServiceProvider # signup с username : test@test.com и UserAttributes для адреса электронной почты.
  • Обновите учетную запись пользователя с помощью номера телефона 123-456-7899 и автоматически подтвердите номер телефона
  • Попытка войти с помощью 123-456-7899
  • Вместо входа в систему пользователя A, который в настоящее время имеет подтвержденный номер телефона 123-456-7899, он создает пользователя B

Можно ли предоставить пользователям уникальные телефонные номера и адреса электронной почты и войти в систему с обоими? Или регистрация всегда идет на основе начального username?

1 Ответ

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

Похоже, ваш пул пользователей настроен с UsernameAttributes, и вы выбрали как email, так и phone_number, чтобы действовать как имя пользователя.Я согласен, что поведение довольно странное, и вы можете получить двух разных пользователей, имеющих одинаковые адрес электронной почты и номер телефона, оба атрибута проверены.

Вы пытались настроить пул пользователей с UsernameAliases?Это позволяет вам указать 3 атрибута (email, phone_number, предпочитаемое_имя_пользователя), которые будут действовать как псевдонимы имени пользователя, и пользователи смогут войти в систему с любым из них (при условии, что они проверены).Предостережение заключается в том, что они не смогут аутентифицироваться по адресу электронной почты сразу после регистрации, поскольку его необходимо сначала проверить.

...