社会认证流程

Social authentication process flow

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

以使用 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. 这是最顺table的流量吗?
  2. 创建用户时如何处理我们用户 table 中的密码?用户稍后希望使用他的电子邮件和密码而不是 LinkedIn 登录。
  3. Twitter 不提供对电子邮件的访问,因此无法按照上述流程进行。

你可以通过关联的社交账户关系解决这个问题

这是最suitable流量吗?

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

我们的用户table在创建用户时如何处理密码?用户稍后希望使用他的电子邮件和密码而不是 LinkedIn 登录。

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

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

Twitter 不提供对电子邮件的访问,因此无法按照上述流程进行操作。

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

希望你明白了!