0

我们正在寻求将 Facebook、Google、Twitter 整合到现有网站中。

与大多数实现不同,用户必须是能够使用 Facebook、Google 等登录之前的客户。当前的数据库设计如下;

userid | username | password | customerno

所以这个想法是,如果用户决定使用 Facebook 登录,我们需要使用他们的字母数字客户编号来验证他们也是现有客户。一旦通过身份验证,他们就不再需要使用他们的客户编号进行身份验证。如果他们还不是客户,他们首先需要在我们这里创建一个帐户。

  1. 我需要为每个提供者设计一个新表吗?如果是这样,设计应该是什么样子?
  2. 如何验证已使用 Facebook 登录并使用其现有客户编号的用户?
4

1 回答 1

0

如何验证已使用 Facebook 登录并使用其现有客户编号的用户?

这取决于您必须将某人视为客户的标准......</p>

恕我直言,将 Facebook 用户连接到其他页面上的现有帐户的最佳和最简单的方法是电子邮件地址。如果您没有,并且没有其他可靠的方法可以使用 Facebook 可以提供的数据将某人识别为客户,那么也许您可以在连接他们的 Facebook 帐户之前在您的网站上向用户询问他们的客户 ID。

至于您的数据库设计——如果您在每次连接/登录时阅读电子邮件地址,那么您只需查找它即可找到您的用户 ID。否则,您可以在现有的用户表中添加额外的字段,在其中保存某人的 Facebook/Google/... 用户 ID。但是如果你想使用多个服务,也许最好把这些数据放到第二个表中,比如

userid | foreign_user_id | type

其中 type 将是“facebook”、“google”等之一,以识别 foreign_user_id 来自的登录提供程序。

于 2012-07-27T11:59:11.913 回答