當用戶第一次打我的網站的登錄畫面,我有Facebook連接確定用戶是否登錄到Facebook和重新載入頁面,如果真:Facebook連接註銷後,Facebook的PHP類仍然認爲用戶登錄
<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script>
<script type="text/javascript">
FB.init('MY_API_KEY', '/xd_receiver.htm', { 'reloadIfSessionStateChanged': true });
</script>
當重新加載頁面,我的後端PHP代碼檢查用戶是否登錄到Facebook上,然後自動記錄它們在我的網站:
$Facebook = new Facebook(MY_API_KEY, MY_APP_SECRET);
if ($Facebook->get_loggedin_user()) {
// Log the user in.
}
這部分工作正常。問題在於註銷功能。我註銷鏈接目前看起來是這樣的:
<a href="#" onclick="FB.Connect.logoutAndRedirect('http://my.url/logout/');">Log Out</a>
是單擊時,用戶被成功註銷了Facebook上,但後端的Facebook PHP對象仍然認爲在用戶登錄($Facebook->get_loggedin_user()
仍然返回他們的用戶ID),所以我的登錄代碼會自動再次登錄。
所以我發現的問題是,即使Facebook連接記錄用戶出,後端Facebook PHP對象仍然認爲用戶登錄。有誰知道如何克服這一點?我可以不用我的PHP代碼自動登錄用戶嗎?
感謝您的幫助!
嘗試有問題的網頁上傾倒你的Facebook相關的cookies。我不認爲應該有什麼,當你到達那裏。 – 2009-10-23 23:52:43
我描述了這個相同的問題http://stackoverflow.com/questions/1546277/trouble-logging-out-of-a-facebook-connect-site-and-destroying-sessions – Xeoncross 2009-11-10 23:18:13