1

我正在使用 Facebook JS SDK 让用户将他们的 Facebook 帐户连接到我的网站,但我遇到了一个奇怪的问题。

似乎当您按照以下步骤操作时:

- connect for the first time with your fb account, 
- authorize my app, 
- go in another tab in your browser to the facebook website, 
- remove my app, 
- go back to my website tab in your browser 
- click the connect button again

FB.getLoginStatus 仍将 response.status 返回为“已连接”,直到您刷新我的网站的选项卡,然后才会将 response.status 显示为“not_authorized”。

甚至 FB.login 将 response.status 返回为“已连接”,直到我刷新窗口(即使我在此之前调用 FB.logout)

为什么我需要在它显示为“not_authorized”之前刷新我的窗口,我该如何解决这个问题?

编辑:我正在使用 OAuth 功能

4

1 回答 1

1

这是因为 SDK 缓存了“FB.getLoginStatus”响应对象。

如果你想解决这个问题,只需调用 FB.getLoginStatus 并将第二个参数设置为 true。

FB.getLoginStatus(function(response) {
  // this will be called when the roundtrip to Facebook has completed
}, true);

https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

于 2013-08-05T06:28:23.110 回答