完全迷失在这个和docs上不要真的对此有任何见解......
在我的应用程序中使用带有此登录按钮代码的 Facebook Javascript SDK:
<fb:login-button scope="manage_pages,read_insights,ads_management" autologoutlink="true" size="large"></fb:login-button>
根据文档,一旦用户登录,autologoutlink=true
参数将login
按钮变为log out
。我想保留此功能而不是编写自己的按钮代码
此事件调用了FB.logout
,但仍然在回调中返回了错误信息
FB.Event.subscribe('auth.logout', function(response) {
FB.logout(function(response) {
// FB.logout() called without an access token.
});
});
我想使用 Facebook 登录小部件而不是我自己的登录按钮,因此关于同一主题的其他答案没有帮助。我不明白我应该如何传递 access_token 来证明我有权注销...
最佳答案
显然这是不可能的,至少我无法弄清楚。快速解决方案是从自定义 Log Out
按钮调用此函数:
function fbLogoutUser() {
FB.getLoginStatus(function(response) {
if (response && response.status === 'connected') {
FB.logout(function(response) {
document.location.reload();
});
}
});
}
页面重新加载向 Facebook 发出另一个请求,Facebook 然后看到未授权状态并从浏览器中删除 cookie,这反过来使 access_token 无效。因此,这会将用户从网站和 Facebook 中注销。
关于facebook - FB.logout() 在没有访问 token 的情况下调用。 JavaScript SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842610/