客户可以通过正常登录和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经典。任何解决方案?
答案 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>