【问题标题】:Use email/phone instead of username for authenticating user使用电子邮件/电话而不是用户名来验证用户
【发布时间】:2017-05-05 07:55:10
【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

  • 你在使用设计,用户自定义认证系统
  • @vipin 我正在使用设计。

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


【解决方案1】:

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

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

所以听起来你的用例实际上在 Cognito 用户池中得到了原生支持。只要您的用例与您描述的完全一样,您就不需要在此处编写任何 lambda 函数来支持登录流程。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 2010-11-01
    • 2016-12-11
    • 1970-01-01
    相关资源
    最近更新 更多