Facebook 信息亭注销

标签 facebook facebook-graph-api logout kiosk

我们有一个 Facebook 网站应用程序,用作公共(public)事件信息亭。许多人将在同一设备(设置在展位上,如 ipad 或类似设备)上通过我们的网站登录 Facebook。

我们需要在完成后将该人从 Facebook 中注销;不仅仅是破坏我们网站的图形 API session 。

问题是这样的:

  1. 用户走到我们的 iPad 前,其中已加载了我们网站的浏览器。他或她点击“facebook 登录”,然后被重定向到 facebook 进行登录。
  2. 他们登录并授予我们的应用权限,然后 Facebook 将他们重定向回我们的网站。
  3. 他们使用我们的网站(发表评论等)后,会在我们的网站上点击退出。
  4. 下一个用户坐下,点击“Facebook 登录”,然后重定向到 Facebook。访问 facebook.com 后,前一个用户的浏览器仍处于登录状态,从而授予该用户访问第一个用户的 Facebook 的权限(只是一个小问题 =)

我的希望是我可以将用户发送到 Facebook,发送到一个只有注销按钮的页面,然后让 Facebook 将浏览器重定向回我的网站,为下一个用户做好准备。这就是登录的工作原理,我需要一个等效的注销。

编辑:

非常感谢您的回答。我们花了大约 3 天的时间试图解决这个问题;如果我们发布任何人都可以插入的通用代码,我希望您能原谅我们。将其放在 HTML 页面上,然后访问该页面,将使用户退出 Facebook 您的网站。

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'your APP ID', // App ID
      channelUrl : '//WWW.YOURSITE.COM/channel.php or channel.html or whatever yours is', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });
    // Additional initialization code here
    FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
      var uid = response.authResponse.userID;
      var accessToken = response.authResponse.accessToken;
      FB.logout();
      alert('Thanks!  You have been logged out of facebook.');
    }
   });            
  };
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

最佳答案

如果您使用Facebook Javascript SDK,您可以调用FB.logout当他们点击您的注销链接时,如文档所述:

FB.logout will log the user out of both your site and Facebook.

关于Facebook 信息亭注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11998580/

相关文章:

android - facebook 帐户工具包 - 返回错误 "We' 抱歉,出了点问题。”在 android 中

javascript - 如何让 Facebook 登录按钮显示 "Logout"

PHP session_start() 函数 : Why I need it everytime I use anything related to PHP sessions

java - 注销我的应用程序时出现问题。应用程序不断崩溃

asp.net - 通过 Linkbutton 注销 Facebook

Facebook 标签 fb :google-analytics vs adding the Google analytics JavaScript mysel

ios - 在 ios 中获取好友列表时,Facebook SDK Error Domain=com.facebook.sdk Code=5

javascript - Facebook 的内容是动态加载的吗?

php - 链接网站和 Facebook 页面

swift - 访问多个类中的一个函数