javascript - 如果禁用第 3 方 cookie,facebook javascript/php SDK 的 "talk"可以互相发送吗? facebook->getUser() 返回 0

标签 javascript php facebook facebook-graph-api cookies

我正在构建一个与 facebook javascript&php SDK 一起工作的网站...它通常运行良好,但是 - 我发现对于一台使用 chrome 的测试机,当我从客户端/javascript 端执行 FB 登录时,后端的 PHP sdk 无法识别它——facebook::getUser() 函数返回 0

经过大量的绞尽脑汁和谷歌搜索无济于事后,我通过 chrome 开发工具意识到/注意到,对于正在工作的机器,我看到名为“PHPSESSID”的 cookie 以及包含我的 facebook uid 的“C_user” ,以及其他名称/值对;而在非工作机器上,我只看到“PHPSESSID”。然后我发现/意识到非工作机器上的 Chrome 禁用了第 3 方 cookie。

所以这显然是问题所在..我做了更多的谷歌搜索,但我无法找到是否有解决方法或更好的方法的明确答案。

如果用户/浏览器禁用第 3 方 cookie,是否根本无法集成 js+php sdk?我的 PHP 后端代码如何确定我正在处理的 Facebook 用户是哪个?

最佳答案

我通过使用 php-SDK getLoginUrl() 在页面上提供登录链接并让用户使用该链接来解决此问题,而不是对 javascript login() 函数进行客户端调用或使用 facebook社交/登录插件。它可能会在某些时候遇到缺点,但目前这似乎适用于禁用第 3 方 cookie 的计算机

关于javascript - 如果禁用第 3 方 cookie,facebook javascript/php SDK 的 "talk"可以互相发送吗? facebook->getUser() 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19463528/

相关文章:

php - 无法使用 PHP $_POST 数组检索输入字段值

javascript - 提交可变数量的数组以强调 _.difference

java - c :forEach issue when part of javascript function

php - 我如何根据时间加载 2 个不同的页面?

java - Android 上的 Facebook OAuth

android - Facebook 安卓 SDK : calling score API

javascript - 无法在 MooTools 中以编程方式触发 mouseenter

javascript - “添加/删除字段”中的图像选择无法正常工作

php - mysql select - 如果给定选项没有匹配,则匹配不同的选项

ruby-on-rails - 使用 omniauth 和 Facebook 对 Rails API 的用户进行身份验证?