2011-09-28 50 views
1

我希望人們能夠從我的應用程序從他們的Facebook帳戶中刪除我的應用程序。Facebook PHP SDK清除會話數據?

這很容易與做:

$fb->api('/'.$fbUid.'/permissions','DELETE'); 

的問題是,如果用戶加載在我的網站其他頁面Facebook的PHP SDK似乎仍然認爲用戶「登錄」。我認爲這是因爲facebook php sdk(v 3.1.1)將用戶數據存儲在會話中。

是否有清除這些會話的好方法? (我的意思是一種最佳實踐方式,當然我可以循環會話並刪除所有以「fb_」開頭的)。

有一個$ fb-> clearAllPersistentData(),但它是受保護的。

或者我真的不得不將用戶重定向到logoutUrl來做到這一點?

編輯:重定向到logoutUrl沒有任何區別,我仍然有會話變量。

回答

4

您可以使用session_destroy(),但這會破壞所有會話數據,包括您自己的應用程序可能正在使用的所有會話數據。

另一種解決方案是擴展類並通過自己的包裝函數公開受保護的方法。

但是我同意這個問題稍微有些破,我有幾個修補程序,我會在本週推到sdk。

+0

太棒了!在此期間,我只是將clearAllPersistentData()中的protected保護給public。 – Martin

+0

添加了此https://github.com/facebook/php-sdk/commit/4b0e00096c01a959c3f7d9b0655856c17c46383f –