用户通过Facebook登录后如何处理用户数据

时间:2013-11-11 08:26:55

标签: php mysql sql facebook membership

目前我正在使用传统方式实施会员系统,例如用户表和其他相关表(例如user_product)具有链接到该用户的外键

问题是,如何通过Facebook登录会员? 例如

  • 我是否应该使用facebook的检索信息来创建新帐户 自动在我的用户表中?

  • 我应该创建一个新表,例如facebook用户,然后插入其中?

  • 我应该忽略登录信息,而不将其添加到我的数据库中吗?

我遇到的问题是有一个user_id,来自facebook的人登录将不会有。因此,当他们使用例如购买,我无法插入记录。但是,如果我将它们添加到我的用户表中,则会有一些信息。缺少例如密码,手机.....那么通过Facebook办理登录的常见问题是什么?感谢

1 个答案:

答案 0 :(得分:1)

在实践中处理这种方法有几种。某些服务要求用户仍然填写信息,即使在用户点击“通过Facebook登录”之后也是如此。除非你有绝对需要的信息,否则我会反对这种做法。

您可以对用户采用多态方法,并拥有常规用户表和Facebook用户表。还有其他方法可以在SQL数据库中处理继承,但这可能会变得复杂。

第三种方法是将Facebook id和auth令牌作为用户表上的可空列。这还需要您使密码列可以为空,或者将其设置为长且随机的。这样,Facebook关联帐户的功能与其他帐户相同,但他们登录的方式除外。由于您有他们的电子邮件,Facebook用户仍然可以使用“重置密码”选项来获取密码。

编辑:

您需要为所需内容创建列,以便为用户维护Facebook记录。 Facebook id,oauth token和oauth secret就是其中之一。当用户点击使用Facebook登录时,在收到Facebook的回复后,您应该检查是否有用户具有给定的Facebook ID。如果存在,请在用户中签名。否则,请创建一个。

更容易看一下OmniAuth解决方案。 OPAuth就是这样一种解决方案。引入这样的内容可能需要您重新编写一些现有代码。

相关问题