用于合并多个帐户和注册用户帐户的体系结构

use*_*206 5 architecture security facebook oauth multiple-login

我的问题是几乎相同的,因为这一个

唯一的区别是用户可以选择注册(提供他的用户名和密码).用户应该只注册一个帐户,如果用户有相同的电子邮件我合并了这些帐户.我的应用程序有另一种登录方法,通过Facebook.

我基本上做的是

  • 当用户第一次访问for站点时,他或她会创建一个用户帐户,其中只有用户名,密码和邮件地址,然后创建第三方身份记录,然后与本地帐户配对. Users表将有一个空的用户名和密码,但电子邮件将填入我们从第三方服务提供商处检索到的用户电子邮件

和第二个场景

  • 用户尝试注册该站点.如果电子邮件存在但是使用第三方帐户注册,请检查是否存在电子邮件,使用用户填写的表单并将其插入与第三方帐户配对的用户帐户,简而言之,如果用户电子邮件存在于数据库中,我将只是合并了本地创建的帐户和第三方帐户.

现在我的问题是我的方法安全可靠吗?如果不是合并帐户的最佳方式是什么,同时如果用户使用相同的电子邮件(来自第三方帐户)注册并且他有第三方帐户,那么这些帐户将合并?

Mah*_*amy 3

从我的角度来看,只有一个帐户。一封电子邮件,一个帐户周期。可能有与该帐户关联的各种属性,例如链接到一组 OAuth 凭证等。但从根本上来说只有一个帐户。如果您的用户使用社交帐户注册过一次,然后尝试在您的网站上再次注册,请将他们发送到他们第一次注册时使用的社交网站,并要求他们在那里登录。然后将它们自动登录到您的网站。如果用户在您的网站上拥有帐户,然后尝试使用社交帐户再次注册,请告诉他们您已经在该网站上拥有帐户并要求他们登录。恕我直言,保留单独的帐户并尝试合并它们是一个混乱的想法。