使用Facebook,Twitter和内部登录问题进行多重登录

时间:2011-09-05 19:04:28

标签: facebook web-applications twitter login

我正在创建一个应用,您可以通过FacebookTwitter或我们自己的内部机制登录。问题是以下情况:

  1. 我打开应用程序并使用Facebook登录
  2. 我退出
  3. 我打开应用程序并使用Twitter登录
  4. 上述方案将导致我作为在系统中具有两个帐户的用户。如何防止这种情况发生,以便我有一个帐户,无论我是否使用Facebook / Twitter登录都无关紧要?

    每次用户使用Facebook登录时,我都可以使用Facebook用户名和Facebook ID作为密码来创建内部帐户。当我使用Twitter登录时,我正在使用Twitter用户名和id作为密码创建内部帐户。

    我想到了一个想法来解决这个问题:

    当用户使用Twitter登录时,如果数据库中已存在具有该信息的用户,请检查名称和电子邮件。但是,他们在Facebook和Twitter上使用的名称和电子邮件可能不一样,所以这可能不会一直有效。

1 个答案:

答案 0 :(得分:0)

您无法使用当前流程(当用户登录然后再次注销时)。相反,您应该允许用户使用他们的Facebook或Twitter凭据登录,然后在他们仍然登录时,让他们将他们的帐户与他们与该用户的其他服务相关联。

所以,流程将类似于:

  1. 新用户到达网站用户使用Facebook oauth2登录 机制
  2. 您的服务器收到其FB ID并生成新用户 在你的系统中。存储针对该用户的FB ID。
  3. 你提示 用户添加他们的twitter身份验证凭据。用户登录 Twitter oauth2机制
  4. 您的服务器收到他们的推特ID, 检查用户当前是否登录了您的用户 应用。因为有,你再次保存推特ID 当前用户。
  5. 稍后,用户可以注销,然后使用任一服务登录。