2011-07-30 8 views
0

사용자가 최신 PHP SDK를 사용하여 내 사이트에 로그인했습니다. 사용자가 내 사이트에 표시되는 페이스 북 로그 아웃 URL을 클릭하면 페이스 북에서 로그 아웃하고 일부 정리 작업을 수행 할 수있는 사이트로 리디렉션됩니다.사용자가 facebook.com에서 로그 아웃하면 어떻게 알림을받을 수 있습니까?

그러나 내 세션 및 페이스 북에서 세션 중에 www.facebook.com으로 이동하여 로그 아웃하면 내 사이트에 대한 정보가 없습니다. 이 사이트에 대한 알림을 받아야 사이트를 정리할 수 있습니다.

내가 생각할 수있는 유일한 해결책은 내 사이트의 모든 페이지에서 getLoginStatusUrl()을 호출하는 것입니다. 그러나 이것은 과도한 것 같습니다. 사용자가 페이 스북 자체에서 로그 아웃 할 때 내 사이트에서 일부 URL을 호출하도록 페이스 북에 요청하는 방법이 없습니까?

답변

0

당신은 페이스 북의 예에 따라, auth.logout 이벤트에 가입 JS를 사용할 수 있습니다

<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> 
+0

나를 위해이 페이스 북에서 때 사용자 로그를 발생하지 않습니다. 그들이 connect를 사용하여 로그 아웃 할 때만. (JS API로 FB.logout). – dmnc

관련 문제