javascript - Facebook SDK 注销功能问题

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

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

日志记录部分工作正常:用户单击按钮,弹出 FB 对话框。 logout 函数也适用于 onClick 事件,只是它实际上不起作用。它确实成功注销了用户,但是当它重定向回主页时,会抛出异常:

"Error validating access token: The session is invalid because the user logged out".

刷新页面后,错误消失。这是否是由于注销功能未正确删除 session 所致?

这是我用来注销用户的函数:

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

关于如何解决这个问题有什么建议吗?

最佳答案

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

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

编辑:

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

所以这样做-

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

关于javascript - Facebook SDK 注销功能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047154/

相关文章:

javascript - jQuery 动画中的伪元素

javascript - 使用javascript在csv文件中保留前导零

javascript - 如何在 Javascript 中执行不同的基数对数函数?

php - Laravel 的表特化

php - 生成所有可能的单词组合

php - 在 php 中启用 user_birthday 权限 facebook 生日

javascript - 查找正在更改 DOM 元素的 javascript

php - CakePHP 根据 hasMany 关系获取 array() 中的匹配项

Facebook,登录重新加载循环

android - Facebook 上的哈希关键问题