Facebook Graph API:重用代码验证字符串?

时间:2010-09-22 10:09:06

标签: facebook authentication oauth

本页面的授权部分developers.facebook.com / docs / api包含有关如何在我的Facebook应用中再次为用户执行身份验证的详细说明。但是,在我的场景中,我无法按照我想要的方式工作。以下是它应该如何工作:

  1. 用户进入我的登录页面并点击“使用Facebook登录”链接。

  2. 用户被重定向到graph.facebook.com / oauth / authorize?[some params]并授权我的Facebook应用访问他/她的数据。 Facebook重定向回我的网站。

  3. 我的网站检查代码参数,调用Facebook将其替换为访问令牌,然后让用户将我/她在我网站上的帐户与Facebook上的帐户相关联。访问令牌保存在我网站上的用户帐户中。

  4. 下次用户到达我的网站并想登录时,他/她应该能够点击相同的“使用Facebook登录”链接并直接登录网站帐户(假设他/她仍然登录Facebook)

  5. 问题:每次替换访问令牌的代码(来自graph.facebook.com / oauth / authorize)时,令牌都会更改。由于该令牌用于在我的站点数据库中查找用户,因此匹配的failes。

    我现在的问题是:如何解决这个问题?可以保存graph.facebook.com / oauth / authorize中的Code参数并反复使用以查找用户吗?或者还有另一种方法吗?我真的不想使用Javascript API,因为它给我带来了很多其他麻烦。

    [对不起链接,我是新用户,不允许发布多个链接]

1 个答案:

答案 0 :(得分:1)

啊,我解决了它:在我获得access_token之后,我只需要调用graph.facebook.com/me来获取用户的id。这将保存到我的数据库中。下次我与那个id匹配。