Facebook 连接和第三方 cookie?

typ*_*ror 5 php cookies facebook

当“第三方”cookie 等功能被禁用时,保持用户登录状态的最佳方法是什么?我目前有一个 Facebook 连接应用程序(仅使用 PHP),当我在 Firefox 中选中该应用程序时,该应用程序运行良好,但在未选中时会重定向到我的登录页面。即使 Facebook 自己的示例应用程序(therunaround)也有同样的问题,但未经检查,所以我想知道是否没有办法解决这个问题。

编辑:

@codege3k

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

编辑:

如果第三方 cookie 没有得到广泛支持,那么在用户登录的情况下处理 facebook connect 的最佳方法是什么?我应该只使用有效的初始登录并为我自己的网站设置一个本地 cookie 并使用它,而不是每次都检查 facebook 状态吗?

typ*_*ror 5

好吧,推广会议似乎有效。

$fbUserId = self::$facebook->get_loggedin_user();
if ($fbUserId)
{
     self::$facebook->promote_session();
     return $fbUserId;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

因此,这会获取每个请求的会话,但本质上,必须启用第三方 cookie,Facebook Connect 才能按预期工作。来自他们的文档:

用户的浏览器必须设置为接受第 3 方 Cookie,以便在点击之间保持连接。

来源:http ://wiki.developers.facebook.com/index.php/Logging_In_And_Connecting