用户使用最新的PHP SDK登录我的站点。 如果用户点击我网站上显示的Facebook注销网址,他会从Facebook注销并重定向回我的网站,我可以在那里进行一些清理工作。
然而,如果在会话期间(在我的网站和Facebook中)用户访问www.facebook.com并从那里注销,我的网站对此毫无头绪。我需要在我的网站上收到通知,以便我可以进行清理。
我能想到的唯一解决方案是从我网站的每个页面调用getLoginStatusUrl(),但这似乎是一种矫枉过正。当用户从Facebook本身注销时,有没有办法让facebook在我的网站上调用一些URL?
答案 0 :(得分:0)
您可以根据facebook示例使用js订阅auth.logout事件:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '<?php echo $facebook->getAppID() ?>',
cookie: true,
xfbml: true,
oauth: true
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
};
(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>