使用电子邮件/电话代替用户名来验证用户

时间:2016-12-20 07:01:52

标签: ruby-on-rails ruby aws-lambda aws-sdk aws-cognito

我正在使用Congnito用户池来存储我的应用程序用户。 我可以使用usernamepassword登录。对于我的Web应用程序,我要求用户能够根据自己的意愿使用email/phone对自己进行身份验证。并且emailphone number都可以同时存在。我做了一些RnD并发现我需要编写一些lambda函数来实现它,有没有其他方法来实现它,对于lamda函数请帮我写一下。

我在rails 5上使用Ruby来构建我的Web应用程序和aws-sdk gem。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Cognito用户池允许用户使用“别名”和密码登录。 (其他方法)

在Cognito用户池中,术语“别名”是指用户的唯一标识符。用户池实际上支持使用用户名,电子邮件或电话号码作为别名。

因此,听起来您的用例实际上是在Cognito用户池中本机支持的。只要你的用例完全如你所描述的那样,你就不需要在这里编写任何lambda函数来支持登录流程。

您需要确保已将用户池设置中的电子邮件和电话号码属性标记为用户池的“别名”值。这可以确保每个用户的电子邮件和电话号码在注册时都是唯一的,因此他们可以使用他们的电子邮件或电话号码以及他们的密码登录。

http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html