Facebook使用链接连接注销

时间:2011-01-25 10:28:09

标签: facebook connect logout

客户可以通过正常登录和Facebook连接登录我的网络应用程序。到目前为止一切都很好。

<fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>                                                  <div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
      FB.init({appId: '<xsl:value-of select="$FACEBOOK_APP_ID" />', status: true,
               cookie: true, xfbml: true});
                FB.Event.subscribe('auth.login', function(response) {
                window.location.reload();
      });
</script>

但是当他们注销时,我希望客户点击我网站上的注销链接。如何以编程方式注销facebook连接?可能是通过json后端?

我不希望客户点击Facebook按钮进行注销。

我确实尝试了一些方法,例如:重置在我的网站上创建的facebook连接cookie并且它有效,但是当我第二次尝试再次登录到facebook时,它失败了。

我知道删除cookie注销根本不干净(fb autologoutlink=true仍然显示我还没有注销。)

我不能让客户点击退出两次,我希望他们将我的网络应用退出链接用作单个退出控制器。

我正在使用ASP经典。任何解决方案?

2 个答案:

答案 0 :(得分:1)

如果用户已通过Facebook登录,请在用户退出您的网站时调用此JS代码段(取决于您实施注销的方式,一种可能的方法是使用onclick="",或者如果您重定向到“退出”模板,包含在那里):

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'YOUR_APP_ID', status: true, cookie: true, xfbml: true});
    FB.logout(function(response) {});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

答案 1 :(得分:0)

您可以使用以下简单代码:

  <div id="fb-root"></div>
  <script src="http://connect.facebook.net/en_US/all.js"></script>
  <script>
     FB.init({ 
        appId:'APPID HERE', cookie:true, 
        status:true, xfbml:true 
     });
  </script>

和此:

<fb:login-button autologoutlink="true" length="short" background="white" size="large" data-show-faces="true" perms="email,user_birthday,status_update,publish_stream">Login with Facebook</fb:login-button>