Facebook Oauth在关闭图形API时出现异常错误?

时间:2011-06-15 20:06:40

标签: facebook authentication oauth facebook-graph-api

我们最近遇到了Facebook登录问题。因为每个登录的用户都可以对/我进行一次图形调用,然后我们就会遇到两个错误:

“message”:“验证访问令牌时出错:会话已失效,因为用户已更改密码。” “message”:“验证访问令牌时出错:会话与当前存储的会话不匹配。这可能是因为用户在创建会话时更改了密码,或者出于安全原因Facebook更改了会话。”

第一个似乎发生在新用户登录时,第二个更多发生在已经授权我们的应用程序的人身上。看起来他们能够获得第一个/我图形调用的用户名,然后oauth令牌被搞砸了很长时间(其中一些最终由于某种原因返回)。

我最近发现我们的代码为我/ home JSON抨击facebook两次。当我把这个代码拿出来时,我能够通过Rest点击图形API,它没有给我错误。

我已经看到了各种错误,提到了facebook的问题,但问题被认为是“修复”的,很难看出为什么两次关闭facebook会杀死我们的身份验证令牌 - 你会认为我们会收到有关率的消息限制性的。

有没有人对这是什么有解释?我仍然没有确认第二次调用是修复,但到目前为止它看起来像。

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。查看此blog post有关如何处理无效访问令牌的信息 - 它解释了如何重新授权用户。

我有一个理论认为请求一旦到达系统就会重新路由,从而多次执行。这是未经证实的,但我肯定遇到了我只发送1个请求的问题,但是2或3似乎已经开始了。有趣的是,我已经看到,如果您提供取消授权回调URL并且有人卸载您的应用程序,Facebook将会调用该URL 3次。这为一些有趣的日志做了......

不幸的是,Facebook的开发就像狂野的西部......它是无法无天的,它们经常说一件事并且意味着另一件事(或者在这种情况下声称某些东西是固定的,而不是。)