背景:Facebook PHP SDK getSession()無法獲得會話。 Cookie問題?
- 使用Facebook PHP SDK v 2.1.2
- cookieSupport =真
- 應用在Facebook上具有的OAuth 2.0畫布啓用在邏輯
- Facebook連接/符號發生通過HTTPS上的單獨的子域(secure.mysite.com)
- 開發位點是dev.mysite.com:PORT_NUM
W¯¯帽子工作
- 我可以成功登錄使用Facebook Connect
- 通過Facebook對話框授權後,登錄用戶,然後重定向到fbconnect.php它實例Facebook類,並調用$ facebook->的getSession( )
- 這將返回一個有效的Facebook會話,我們與我們的後登入邏輯進行
- 我們然後重定向到主頁的簽署
什麼不起作用
- 任何時間後,$ facebook-> getSession()返回NULL。無論。
- 根據該文檔,Facebook的應該再生基於cookie的,只要它是有效的有效會話。持續時間被設置爲默認值1小時,但在cookie設置失敗後甚至會在30秒內完成調用。
我想知道是否有fbs_ cookie中的某些內容妨礙了會話後登錄的重新生成。與安全子域相關的東西,或可能是我們在開發網站上使用的端口號?
有很多具有從我所看到的與Facebook會話類似問題的人,但我遇到的建議似乎沒有解決fbs_餅乾,域,港口等內容我瞭解這些事情與cookies的關係是相對較輕的,但我想至少將它們作爲非問題進行檢查,以便我可以在其他地方查看。
欣賞任何見解。
我有類似的isses,但只在某些瀏覽器,並不想重做我的整個登錄過程。到目前爲止,這個http://stackoverflow.com/questions/3955615/how-do-i-get-my-facebook-application-to-automatically-ask-for-required-permission看起來最有希望 – danjp 2011-06-29 01:15:16