Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook连接和第三方cookie?_Php_Cookies_Facebook - Fatal编程技术网

Php Facebook连接和第三方cookie?

Php Facebook连接和第三方cookie?,php,cookies,facebook,Php,Cookies,Facebook,当禁用“第三方”cookie之类的内容时,保持用户登录的最佳方式是什么。我目前有一个Facebook connect应用程序(仅使用PHP),当我在Firefox中签入该应用程序时,该应用程序运行良好,但在未选中该应用程序时,它会重定向到我的登录页面。甚至Facebook自己的示例应用程序()也有同样的问题,所以我想知道是否没有办法解决这个问题 编辑: @代码ge3k 尝试了一堆p3p标题。到目前为止还没有骰子。我有一个登录页面,当用户“连接”时会重定向到我的索引。。。第一次加载时,我可以从ge

当禁用“第三方”cookie之类的内容时,保持用户登录的最佳方式是什么。我目前有一个Facebook connect应用程序(仅使用PHP),当我在Firefox中签入该应用程序时,该应用程序运行良好,但在未选中该应用程序时,它会重定向到我的登录页面。甚至Facebook自己的示例应用程序()也有同样的问题,所以我想知道是否没有办法解决这个问题

编辑:

@代码ge3k

尝试了一堆p3p标题。到目前为止还没有骰子。我有一个登录页面,当用户“连接”时会重定向到我的索引。。。第一次加载时,我可以从
get\u loggedin\u user()
获取用户id,但当我刷新时,该函数返回null。cookies存在,当我返回登录页面并再次单击“连接”时,它不会提示我登录,因此我知道它部分工作正常。在Firefox中打开“第三方cookie”后,它就像一个符咒

编辑:


如果不广泛支持第三方cookie,那么在用户登录环境中处理facebook connect的最佳方式是什么?我是否应该使用可以正常工作的初始登录,为自己的网站设置本地cookie,并使用它而不是每次都检查facebook状态?

我在第三方cookie方面也遇到了类似的问题。检查这个,看看它是否解决了


可以通过添加p3p标题来解决此问题。

好的,升级会话似乎有效

$fbUserId = self::$facebook->get_loggedin_user();
if ($fbUserId)
{
     self::$facebook->promote_session();
     return $fbUserId;
}
编辑:

因此,这会在每次请求时获得会话,但本质上,必须启用第三方cookie,才能使Facebook Connect按预期工作。从他们的文档中:

用户的浏览器必须设置为 接受第三方cookie以便 它需要在点击之间保持连接


来源:

那么对于不接受第三方cookie的浏览器,P3P是否可以解决这个问题?我在上评论了一个FB错误。

我没有看到与P3P标题有多大区别。在未选中“第三方cookie”的firefox中,无论发生什么情况,它都不起作用。您可以从facebook获取初始值,并根据需要自行设置本地cookie。