Facebook SDK注销功能问题

时间:2014-04-13 19:09:30

标签: javascript php facebook facebook-javascript-sdk facebook-php-sdk

我将Facebook PHP SDK与我网站上的JS SDK结合使用。基本上,JS API将用户登录,然后PHP部分获取要在页面上显示的所有用户信息。

logging部分正常工作:用户点击按钮,弹出对话框FB对话框。 logout函数也适用于onClick事件,除了它没有真正起作用之类的。它会成功记录用户,但当它重定向回主页时,会抛出异常:

  

"验证访问令牌时出错:会话无效,因为用户已注销"。

刷新页面时,错误消失。这可能是由于注销功能没有正确删除会话吗?

这是我用来退出用户的功能:

function FBLogout(){
   event.preventDefault();
   FB.logout(function(response){
      window.location.href = 'http://www.mydomain.com/';
   });
}

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

Facebook必须抛出此错误作为对API调用的响应。

成功注销用户后,调用已发送到失败的facebook,并返回此错误。

修改

从JS-SDK注销不会使PHP SDK生成的访问令牌失效。

这样做 -

  • FB.logout的回调中,调用$facebook->destroySession() - 您可以通过使用此调用对页面进行ajax调用来执行此操作,然后在回调时,用户将从JS注销,并且PHP