我有一个应用程序,它成功地使用Facebook的单点登录登录用户。一旦用户登录,我就会使用Facebook javascript创建的cookie来获取access_token,我当然会在随后的请求中使用它。
当用户单独访问facebook.com并注销,然后返回到我的网站时,我遇到了一个问题。我的应用程序看到Facebook cookie仍然存在,并假定他们仍然登录到fbs_*。我的网站的功能是,如果该cookie存在,进行图形调用,从他们的Facebook个人资料中提取一些额外的信息,然后自动将他们重定向到网站中更深的页面。当我尝试这样做时,我从Facebook得到了以下错误:
{“错误”:{ "type":"OAuthException","message":“验证访问令牌时出错。”}}
问题似乎在于,虽然cookie中的数据是无效的,但它仍然存在。如果这就是问题所在,我能做些什么来解决它?我可以打个电话来确认它是否仍然有效吗?当然,如果我放置一个Facebook登录按钮(它将正确地确定他们是否登录,但我不能很好地查询Facebook呈现的按钮的状态(或者至少这不是一个真正优雅的问题解决方案)。谢谢你的建议!
发布于 2010-10-18 11:45:17
这是开发Facebook应用程序时的一个常见问题。基本上,您只需要在代码中说明此行为。如果您的应用程序遇到OAuthException,您需要处理该错误并让用户重新进行身份验证,将他们重定向到遇到错误的位置,然后重试该api调用。facebook没有提供API调用来告诉你访问令牌是否仍然有效,因为每个方法都会通过抛出你得到的异常来告诉你。
https://stackoverflow.com/questions/3955911
复制相似问题