【发布时间】:2011-10-03 17:19:30
【问题描述】:
好的,我有一个网站,您可以在其中注册并登录。您也可以使用您的 facebook、twitter 或linkedin 帐户登录。
用户只能注册一个帐户,这一点很重要。所以不知何故,如果用户使用不同的方法登录,我想合并用户的帐户。解决这个问题的最佳解决方案是什么?
例如,用户使用他的 Facebook 帐户登录。我使用这些数据自动为他注册了一个帐户。我应该发送一封包含我们网站用户名和密码的电子邮件吗? (如果这符合 Facebook 的政策)。我应该给他们第二个屏幕,让他们可以填写用户名和密码吗?但这不是使用您的 Facebook 帐户登录背后的想法。它应该简化您的参与程序。
也有可能用户已经在我们的网站上注册了自己,并且下次他使用他的 Twitter 帐户登录。如何将这两个帐户合并为一个?最好的方法是什么?
所以基本上我的问题是:我有 4 种不同的方式让用户成为我们网站的成员。如果用户决定使用多种方式,我如何确保所有这 4 种方式只创建一个帐户?确保不会给用户带来麻烦的最佳流程是什么?
编辑:
在我提出这个问题 3 年后,我自己在一系列文章中给出了答案:
https://www.peternijssen.nl/social-network-authentication-setup/
https://www.peternijssen.nl/social-network-authentication-google/
https://www.peternijssen.nl/social-network-authentication-merging-accounts/
https://www.peternijssen.nl/social-network-authentication-twitter-facebook/
【问题讨论】:
-
当然,最好首先通过允许 Stack Overflow 等多种登录方式来防止用户拥有多个帐户,但即便如此,版主也可以合并帐户。我为任何可以描述允许这样做的架构的人提供赏金。必须有比“更新帖子集 UserID = 2 where UserID = 1”更好的解决方案
-
邮箱和手机可以作为合并键,还有其他的吗?
-
您好,您提供的链接似乎无效。它只进入网站主页
-
更新了链接。不过文章已有 6 年历史了。
标签: architecture oauth openid multiple-login