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

问题描述:

本页面的授权部分developers.facebook.com/docs/api包含了关于如何为用户重新执行我的Facebook应用程序的验证的很好的描述。但是,在我的情况下,我无法按照自己想要的方式工作。下面是它应该如何工作:Facebook Graph API:重新使用代码验证字符串?

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

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

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

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

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

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

[抱歉的联系,我是一个新用户,并不得发布多个链接]

+0

嗯,我解决了它:我得到access_token后,我只是打电话给graph.facebook.com/me获取用户的ID。这保存到我的数据库。下次我与这个ID相匹配。 – Olle 2010-09-22 11:57:51

啊,我解决了这个问题:我以后我的access_token只是调用graph.facebook.com/me获取用户的ID。这保存到我的数据库。下次我与这个ID相匹配。