Используйте электронную почту / телефон вместо имени пользователя для аутентификации пользователя
Я использую Congnito
пул пользователей для хранения пользователей моего приложения. Я могу войти используя username
а также password
, Для моего веб-приложения у меня есть требование, чтобы пользователь мог аутентифицировать себя, используя email/phone
согласно его желанию. и оба email
а также phone number
может существовать в одно и то же время. Я сделал несколько RnD и обнаружил, что мне нужно написать некоторую лямбда-функцию, чтобы достичь этого, есть ли другой способ добиться этого, Для лямда-функции, пожалуйста, помогите мне написать это.
Я использую Ruby на rails 5 для создания своего веб-приложения и aws-sdk
драгоценный камень.
Спасибо за помощь.
1 ответ
Cognito User Pools позволяет пользователям входить в систему, используя псевдоним и пароль. (Среди других методов)
В Cognito User Pools термин "псевдоним" относится к уникальному идентификатору пользователя. Пулы пользователей фактически поддерживают использование имен пользователей, электронных писем или телефонных номеров в качестве псевдонимов.
Похоже, ваш вариант использования изначально поддерживается в Cognito User Pools. Пока ваш вариант использования точно такой, как вы описали, вам не нужно писать здесь лямбда-функцию для поддержки потока входа в систему.
Вам необходимо убедиться, что вы отметили атрибуты электронной почты и номера телефона в настройках своего пула пользователей как значения "псевдонимов" для своего пула пользователей. Это гарантирует, что адрес электронной почты и номер телефона каждого пользователя будут уникальными при регистрации, и в результате они смогут войти в систему, используя свой адрес электронной почты или номер телефона, а также свой пароль.
http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html