【问题标题】:Social authentication process flow社交认证流程
【发布时间】:2016-07-25 03:38:49
【问题描述】:

我有一个使用电子邮件和密码进行用户注册的应用程序。我正在尝试制定添加社交身份验证提供程序的流程。

作为使用 LinkedIn 的示例,登录和注册过程似乎都相同:

Get authentication token from LinkedIn
If successful, get id, email, firstname, lastname from LinkedIn.
Try find a user in our user table with email or linkedin id.
If no user create, storing linkedin id, email, firstname, lastname
Login to our site.
  1. 这是最合适的流程吗?
  2. 创建用户时如何处理我们用户表中的密码?用户稍后希望使用他的电子邮件和密码而不是 LinkedIn 登录。
  3. Twitter 不提供对电子邮件的访问,因此无法遵循上述流程。

【问题讨论】:

    标签: authentication oauth-2.0 social linkedin-api


    【解决方案1】:

    您可以通过关联的社交帐户关系解决此问题

    这是最合适的流程吗?

    • 是的,这是最常见的,但是要采用许多提供您可以做的事情,当用户创建帐户(使用任何进程密码或社交提供者)时,您可以存储该信息,如 loginTypes(Pwd、Twitter、FB)等,它是像数组

    创建用户时我们的用户表中的密码怎么办?用户稍后希望使用他的电子邮件和密码而不是 LinkedIn 登录。

    • 您可以通过为用户提供设置密码的选项(如果他们需要)来支持这一点,然后更新登录类型以将密码作为一种类型包含

    所以当用户尝试使用密码登录时,您可以通过电子邮件找到该帐户并查看登录类型中是否添加了密码,如果是,则继续进行密码检查,否则拒绝

    Twitter 不提供电子邮件访问权限,因此无法遵循上述流程。

    您可以将返回给用户的 Twitter 唯一 ID 存储在 DB 中,并用于下次检查

    希望能澄清你!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 2014-10-21
      • 2012-01-08
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多