首页 > 解决方案 > 如何处理我网站中的社交登录流程 - 有问题的流程和最佳实践

问题描述

所以我读了很多关于网络社交登录的内容。有问题的流程是:

1) 用户使用常规电子邮件注册

2) 用户使用社交(Facebook、Google 等)登录我应该怎么做?

如果社交电子邮件与其原始电子邮件不同,那没关系,对我来说这是一个不同的帐户。但是,如果电子邮件是相同的,我的行为就像是同一个用户。

问题是以下场景:

1) 使用常规电子邮件的用户注册

2) 攻击者使用用户电子邮件注册 Social(没有电子邮件验证)

3) 攻击者可以作为用户登录我的系统。

所以这里的问题是,是否有允许社交登录到其他网站的主要社交网站(facebook、google、...),而无需验证用户的电子邮件?

你怎么看?谢谢!

标签: authenticationfacebook-logingoogle-signin

解决方案


大多数网站实际上只是将社交雪花值映射到用户 ID。例如,流程将是这样的:

如果用户使用电子邮件注册,这是流程

  1. 用户使用常规电子邮件注册
  2. 用户现在可以将他们的社交链接到常规帐户以使用社交登录(电子邮件不必匹配)
  3. 利润

如果用户使用社交网站注册,则流程如下

  1. 用户注册社交
  2. 使用社交来自动填充普通帐户字段
  3. 询问所需的任何其他字段(如果您需要社交登录,请将密码留空)
  4. 将社交雪花价值链接到现有帐户。

如果您需要任何澄清,但我已尽力解释:)

据我所知,对于您提到的有问题的流程,当前被认为是“安全”的提供商将是 Google 和 Microsoft(包括 Azure AD)。


推荐阅读