2010-10-18 101 views
0

我有一个成功使用Facebook的单点登录来登录用户的应用程序。一旦用户登录,我使用Facebook JavaScript创建的cookie访问access_token我当然会用它来处理后续的请求。Facebook单点登录 - 处理无效的fbs_token cookies

我有一个问题,虽然当用户分别访问facebook.com并注销他们身边,然后回到我的网站。我的应用程序看到fbs_ * cookie仍然存在,并假定它们仍然登录到Facebook。我的网站的功能是,如果存在该cookie,则会进行图形调用以从其Facebook配置文件中提取一些附加信息,然后自动将它们重定向到网站的更深层页面。当我尝试这样做,我得到以下错误从Facebook:

{ 

“错误”:{ “类型”:“OAuthException”, “消息”:“错误验证访问令牌。” } }

问题似乎是,尽管cookie中的数据无效,但它仍然存在。如果这是问题,我能做些什么来解决它?有没有电话可以确定它是否有效?当然,如果我把一个Facebook登录按钮(它会正确确定他们是否登录,但我不能很好地查询Facebook呈现按钮的状态(或至少它不会是一个真正的优雅解决这个问题)。谢谢你的任何建议!

回答

3

这是开发Facebook应用程序时的一个常见问题,基本上,你只需要在你的代码中解释这种行为如果你的应用程序遇到OAuthException,你需要处理错误并让用户重新进行身份验证,将他们重定向到他们遇到错误的地方,然后重试api调用.API没有提供API调用来告诉您访问令牌是否仍然有效,因为每种方法都会告诉你通过抛出你得到的例外

+0

这是w我需要听到的帽子。谢谢! – omatase 2010-10-21 16:00:39