2013-06-06 24 views
1

我建立一个网站,你可以与Facebook注册 - Twitter或谷歌,加上 ,我不知道如果有什么连接这三个社交网站(通用ID )所以我可以只有一个数据库行,每个人不是3数据库行 东西就像当我尝试登录Facebook,我已经注册与谷歌加上它登录相同的数据,而不提交一个新的行数据库的facebook 哪意味着我需要找到一个公共因素,我可以登录 感谢您的阅读PHP注册Facebook,Twitter和谷歌+不重复帐户

回答

1

有将三个之间共享没有保证的领域是有用的。你有两种可能的方式来处理这种情况:

1)使用类似的电子邮件地址,你可以得到所有三个,并希望它们使用相同的地址。

2)他们登录到使用它们的一个账户后,让他们可以链接额外的账户本身与其他两个。 (甚至让他们从同一服务的多个时间链接其他帐户。)

0

然后检查表中的用户ID并更新twitter \ Google \ fb authos字段在使用uid作为可更新参数的同一行中。相关的OAuth ID是到用户登录时间

+0

我不明白,我怎么能发现这是同一个人 –

1

你可以尝试使用这个库从供应商获取信息:http://hybridauth.sourceforge.net/ 从供应商获得信息后,你会得到连接提供商的唯一标识符。 这样 - 您可以将该标识符用作系统中某个特定用户的提供者列。

E.x.你可以有一个表: 用户id,USEREMAIL,...,twitterIdentifier,googleIdentifier,facebookIdentifier

,当用户第一次与任何供应商连接,您可以创建与填充正确提供商领域您的分贝的新用户。 在登录时,您检查所需提供商的正确列,并知道它是哪个用户...

+0

好的提示。谢谢。 –