我最近实现了登录我的通过facebook连接。所以现在用户有两种登录网站的方式。注册帐户的旧方式和新方式(Facebook连接)。
我想做的一件事是将新的Facebook连接用户帐户链接到现有帐户(如果他们以旧方式登录)。
有人在这方面取得了成功吗?
答案 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用户注册时在您的用户群中搜索匹配项。