背景: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