Fb.Logout 功能不会注销用户

Posted

技术标签:

【中文标题】Fb.Logout 功能不会注销用户【英文标题】:Fb.Logout function doesn't log user out 【发布时间】:2014-07-09 16:05:59 【问题描述】:

我创建了一个单页应用程序,其想法是让用户使用 facebook 登录,获取基本详细信息并将他从 facebook 注销。这是一种促销功能,因此一旦一个用户注销,另一个用户就会被要求登录到他的 Facebook 帐户。

这样工作,当用户点击网站上的 Facebook 登录按钮时,我使用 FB.login 和 FB.api 方法来获取用户数据。这很好用。现在,当用户填写一些额外的字段并单击提交和注销按钮时,我通过 AJAX 调用存储用户数据,然后调用 FB.logout。

现在,这在本地机器上完美运行,但在服务器上,只要调用 FB.logout 方法,它就会给出以下错误:

**

X-Frame-Options 拒绝加载:https://www.facebook.com/home.php 确实 不允许取景。

**

这是我正在使用的代码:

window.fbAsyncInit = function () 
    FB.init(
        appId: APP_ID,
        channelUrl: apiUrl + 'channel',
        oauth: true,
        frictionlessRequests: true,
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true  // parse XFBML
    );

Fb.login 和 Fb.logout 正常,Fb.login 正常工作。只是在服务器上给出错误的 FB.logout。

【问题讨论】:

【参考方案1】:

原来是在应用设置的网站部分使用多个 URL 的问题。 facebook 支持团队还建议将新的“测试应用程序”用于暂存和开发目的。

【讨论】:

以上是关于Fb.Logout 功能不会注销用户的主要内容,如果未能解决你的问题,请参考以下文章

Facebook JS API 无法注销

Spring Security 5 OAuth 2 社交注销

Spring SAML - 点击 URL '/saml/logout' 后全局注销不起作用

Keycloak注销请求不会注销用户

Laravel 5.0 扩展了“注销”功能

Laravel Auth::logout() 失败