facebook - FB.logout() 在没有访问 token 的情况下调用。 JavaScript SDK

标签 facebook facebook-javascript-sdk facebook-login

完全迷失在这个和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/

相关文章:

ruby-on-rails - 如何在 rails 3 中使用自定义文本在 facebook 上实现 like 并在 twitter 上分享

Facebook Graph API - 按页面 ID 查找页面

css - 如何使新的 Facebook 帖子嵌入功能响应?

javascript - 使用客户端的 fb api 发布到 Facebook 页面

facebook-login - 带有 FBSDKLoginBehaviorWeb 的 FBSDKLoginManager 失败并出现 "Not Logged In"错误

ios - 找不到 'FBLoginViewDelegate' 的协议(protocol)声明

ios - Facebook iOS SDK : Login with Facebook failed

asp.net-mvc - 在 Asp.Net Identity 中设置 redirect_uri

facebook-javascript-sdk - FB.getLoginStatus弹出窗口内的FB.login被阻止

javascript - 如何使用javascript重定向到facebook登录后的页面?