当“第三方”cookie 之类的东西被禁用时,保持用户登录的最佳方式是什么。我目前有一个 Facebook 连接应用程序(仅在 PHP 中),当我在 Firefox 中选中它时它运行良好,但在未选中时重定向到我的登录页面。即使是 Facebook 自己的示例应用程序 ( therunaround ) 也有同样的问题,这个未检查,所以我想知道是否没有办法解决这个问题。
编辑:
@codege3k
尝试了一堆 p3p header 。到目前为止没有骰子。我有一个登录页面,当用户“连接”时重定向到我的索引...第一次加载时,我能够从 get_loggedin_user()
获取用户 ID 但是当我刷新时,该函数返回空值。 cookie 存在,当我返回登录页面并再次单击“连接”时,它不会提示我登录,所以我知道它部分起作用了。在 Firefox 中打开“第三方 cookie”后,它就像一个魅力。
编辑:
如果第三方 cookie 未得到广泛支持,那么在用户登录上下文中处理 facebook 连接的最佳方法是什么?我是否应该只使用有效的初始登录并为我自己的网站设置一个本地 cookie,然后使用它而不是每次都检查 facebook 状态?
最佳答案
好的,推广 session 似乎有效。
$fbUserId = self::$facebook->get_loggedin_user();
if ($fbUserId)
{
self::$facebook->promote_session();
return $fbUserId;
}
编辑:
所以这会在每次请求时获取 session ,但本质上,必须启用第三方 cookie 才能使 Facebook Connect 按预期工作。来自他们的文档:
The user's browser must be set to accept 3rd Party Cookies in order for it to stay connected between clicks.
来源:http://wiki.developers.facebook.com/index.php/Logging_In_And_Connecting
关于php - Facebook 连接和第三方 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/607346/