Facebook PHP SDK getSession() fails to get session. Cookie problem?(Facebook PHP SDK getSession() 无法获取会话.饼干问题?)
问题描述
背景:
- 使用 Facebook PHP SDK v 2.1.2
- cookieSupport = 真
- Facebook 上的应用启用了适用于 Canvas 的 OAuth 2.0
- Facebook Connect/登录逻辑通过 https 发生在单独的子域 (secure.mysite.com) 上
- 开发网站是 dev.mysite.com:PORT_NUM
什么有效
- 我可以使用 Facebook Connect 成功登录
- 通过 Facebook 对话框授权后,我们将用户登录,然后重定向到 fbconnect.php,它会实例化 Facebook 类并调用 $facebook->getSession()
- 这将返回一个有效的 Facebook 会话,然后我们继续执行我们的登录后逻辑
- 然后我们重定向到登录的主页
什么不起作用
- 在那之后的任何时候,$facebook->getSession() 都会返回 NULL.无论如何.
- 根据文档,只要 cookie 有效,Facebook 就应该根据 cookie 重新生成有效会话.持续时间设置为默认值 1 小时,但即使在设置 cookie 后 30 秒完成调用也会失败.
我想知道 fbs_ cookie 中是否存在阻止登录后会话重新生成的内容.与安全子域或我们在开发站点上使用的端口号相关的内容?
I'm wondering if there's something in the fbs_ cookie that's preventing the regeneration of a session post sign-in. Something related to the secure subdomain or possibly the port numbers we use on our dev sites?
据我所见,有很多人在使用 Facebook 会话时遇到类似问题,但我遇到的建议似乎并未解决 fbs_ cookie、域、端口等的内容.我的理解这些事情与 cookie 的关系相对较轻,但我想至少将它们作为非问题检查,以便我可以查看其他地方.
There are a lot of people having similar problems with Facebook sessions from what I've seen, but the suggestions I've come across don't seem to address the content of the fbs_ cookie, domains, ports etc. My understanding of how such things relate to cookies is relatively light, but I'd like to at least check them off as non-issues so I can look elsewhere.
欣赏任何见解.
推荐答案
新的 Facebook PHP SDK (v3) 解决了这个问题
This issue went away with the new Facebook PHP SDK (v3)
这篇关于Facebook PHP SDK getSession() 无法获取会话.饼干问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Facebook PHP SDK getSession() 无法获取会话.饼干问题?
基础教程推荐
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 如何替换eregi() 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
