链接通过Facebook登录的新用户连接到现有帐户

时间:2010-02-24 12:45:04

标签: ruby-on-rails facebook facebooker

我最近实现了登录我的通过facebook连接。所以现在用户有两种登录网站的方式。注册帐户的旧方式和新方式(Facebook连接)。

我想做的一件事是将新的Facebook连接用户帐户链接到现有帐户(如果他们以旧方式登录)。

有人在这方面取得了成功吗?

2 个答案:

答案 0 :(得分:4)

我认为很好的问题很多人都会从答案中受益。

您需要记住的是,只要帐户被授权通过Facebook链接,帐户才会被关联。您应该做的是在数据库中维护第二个链接帐户表,以便您知道谁是谁以及他们是否与Facebook链接。

您应该阅读此集成注释,它提供了许多有用的信息。

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

它并没有真正说明如何做,但它确保你勾选你应该做的的所有方框。

即:

  

如果用户拒绝,则注册失败   应用程序的权限(类别:签名   向上)

     

因为我们需要访问电子邮件   如果地址,注册应该失败   用户提供发布权限但是   否认电子邮件许可(类别:   注册)

     

如果用户提供电子邮件地址   已存在于您的系统中,   注册失败。确保没有YouFace   后端表被修改(类别:   注册,1:1映射)PS - 当这个   碰巧,我找不到适合你的方法   取消授权YouFace   Facebook用户代表。用户必须   如果他们希望你使用,请手动执行此操作   相同的帐户,但提供一个   不同的电子邮件地址。

     

使用Facebook创建的帐户   Connect无法登录   使用YouFace的默认电子邮件/密码   登录系统(类别:登录,   帐户安全)。 PS:自从YouFace   帐户需要密码和那些   使用Facebook Connect创建没有,   确保插入随机密码   哈希进入你的桌子以避免愚蠢   错误

     

使用YouFace创建的帐户应该   能够无需登录即可登录   要登录Facebook,即使   当链接到Facebook帐户时   存在(类别:登录)

还有更多

答案 1 :(得分:1)

您应该通过fb connect身份验证请求永久访问。完成后,您将获得一个令牌,允许您访问某人的Facebook信息,除非用户明确将您从权限列表中删除或更改了他/她的密码,否则该令牌不会过期。

获得令牌后,将该令牌与用户关联/在用户表中创建一个新字段以存储它。

要在没有用户登录的情况下将用户与Facebook帐户相关联,您可以尝试通过电子邮件进行匹配。这不是100%准确,但它非常好。 Facebook不会以文本形式提供电子邮件地址,但您可以从FQL获取电子邮件哈希值。由于您已经知道用户电子邮件地址,因此您可以计算所有用户电子邮件的哈希值,并在每次新的Facebook Connect用户注册时在您的用户群中搜索匹配项。