我正在开发一个django网站,该网站还允许用户使用他们的Facebook帐户登录。登录工作正常,但我无法使用Internet Explorer注销。代码似乎在Firefox和Chrome上运行良好。
继承代码
function logoutFBUser()
{
//logout user from website and Facebook and reload
alert ("called FB logout");
if (FB.getAuthResponse())
{
alert ("has auth response");
FB.logout(function(response)
{
window.location.href = '/accounts/logout?next=/';
});
alert ("logged out of FB and redirected");
}
else
{
alert(" no auth response");
window.location.href = '/accounts/logout?next=/';
}
}
在Firefox中,我收到了has auth response
的警报,但是在IE中,我收到了警告no auth response
。如果我只使用FB.logout
而不使用FB.getAuthResponse
,则该功能在点击FB.logout
时会挂起。
我错过了什么?
答案 0 :(得分:2)
终于解决了这个问题。我调试了FB.logout的javascript,由于某种原因,它没有access_token,这就是调用FB.logout失败的原因。研究Facebook文档让我看到了这个URL,我在网站上成功注销了
来自Facebook文档的退出链接
https://www.facebook.com/logout.php?next=REDIRECT_URI&access_token=LOGGEDINUSER_ACCESS_TOKEN
毋庸置疑,我在服务器端使用这个,所以不再需要使用javascript了。 有关详细信息,请参阅Facebook身份验证文档。
http://developers.facebook.com/docs/authentication/
感谢所有帮助