php - 使用 Facebook 和/或电子邮件双重登录网站

标签 php facebook email login passwords

我正在计划开发一个严重依赖 facebook 集成的网站,因此我将主要插入用户使用“facebook 登录”选项。出于某种原因,我不想遗漏不喜欢使用 Facebook 登录的用户,因此我将使用电子邮件和密码实现经典的用户注册。

现在我的问题是:

  • 管理两个登录的正确方法是什么?我是否应该将 fb 用户数据存储在记录中,在第一次登录(作为注册)时保存他们的 fb_userid 作为在我的应用程序上使用他们的数据的引用?我可以在第一次访问时获取并存储(当然需要用户同意)他们的 Facebook 电子邮件吗?
  • 如果只使用电子邮件注册的用户有一天想使用 Facebook 登录会发生什么?这会创建一个新的用户记录还是我应该将两个登录合并到一个唯一的用户记录中?
  • 我是否需要为 fb 用户设置 cookie 和 session?

  • 我现在看到很多网站都在使用这种双重登录,但我从来不知道他们是如何管理它的。第一次我想只使用 facebook 登录,但很多人认为这是一个坏主意。你怎么认为?

    谢谢你的帮助!

    最佳答案

    我有相同的东西。我所做的:

    我的用户表有:id、facebook_uid、email、password

  • 如果有人 fconnects - 我为他创建一个新用户,唯一的 AI id,设置 facebook 用户 id,电子邮件,并生成一个随 secret 码。我正在通过邮件向他发送密码。
  • 如果有人注册 - facebook uid 是 0
  • 有人尝试注册并且电子邮件已经存在,并且带有 facebook id - 他在邮件中有密码或者可以使用忘记密码等。
  • 有人尝试连接并且电子邮件已经存在 - 我使用已经存在的帐户:

  • 我的方法是,我可以通过向他发送确认链接来验证电子邮件。 fconnect 对我来说是确认。在这种情况下,我想给他帐户(因为他拥有电子邮件)。我可以让他输入密码并重新生成一个并发送给他。

    当然,您可以以不同的方式处理每种情况 - 基本方法 - 经过验证的电子邮件 = 您拥有一个帐户。 fconnect = 已验证的电子邮件

    编辑:注意
    一旦用户连接 - 我在 session /cookie 中设置登录参数。我不想在每次页面查看时都向 Facebook 服务器发出请求

    关于php - 使用 Facebook 和/或电子邮件双重登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920034/

    相关文章:

    图像重叠背景的 HTML 表

    php - 检查表中是否存在记录,如果存在则重定向

    php - 获取 PHP 中的 URL 参数

    facebook - Xamarin.Social是否使用Facebook SDK来发起登录?

    ios - 我们可以定制facebook sdk框架吗?

    ios - Facebook 和 iOS : Share an app ID across multiple apps

    java - 如何测试两个电子邮件地址是否相等

    java - 为什么在 Javamail 中连接超时?

    javascript - 在没有 Ajax 的情况下将 PHP 数组返回到 javascript,可能吗?

    php - CURL 中的 data-urlencode 是什么意思?