【发布时间】:2010-09-22 10:09:06
【问题描述】:
此页面 developers.facebook.com/docs/api 的授权部分包含有关如何对我的 Facebook 应用程序执行用户身份验证的良好描述。但是,在我的情况下,我无法让它按照我想要的方式工作。这是它应该如何工作的:
用户进入我的登录页面并点击“使用 Facebook 登录”链接。
用户被重定向到 graph.facebook.com / oauth /authorize?[some params] 并授权我的 Facebook 应用访问他/她的数据。 Facebook 重定向回我的网站。
我的站点检查 Code 参数,调用 Facebook 以将其替换为访问令牌,然后让用户将他/她在我站点上的帐户与 Facebook 上的帐户连接起来。访问令牌保存在我网站上的用户帐户中。
下次用户到达我的站点并想要登录时,他/她应该能够单击相同的“使用 Facebook 登录”链接并直接使用站点帐户登录(假设他/她仍在登录 Facebook)
问题:每次将代码(来自 graph.facebook.com/oauth/authorize)替换为访问令牌时,都会更改令牌。由于该令牌用于在我的站点数据库中查找用户,因此匹配失败。
我现在的问题是:我该如何解决这个问题? graph.facebook.com /oauth/authorize 中的 Code 参数可以保存并一遍又一遍地用于查找用户吗?还是有其他方法可以做到这一点?我真的不想使用 Javascript API,因为它给我带来了很多其他麻烦。
[抱歉链接,我是新用户,不允许发布多个链接]
【问题讨论】:
-
啊,我解决了:获得 access_token 后,我只需调用 graph.facebook.com/me 即可获取用户的 ID。这被保存到我的数据库中。下次我匹配那个 id。
标签: facebook authentication oauth