在“第三方”等内容保持用户登录的最佳方式是什么? cookie被禁用。我目前有一个Facebook连接应用程序(仅在PHP中),当我在Firefox中检查时效果很好,但是当它未经检查时重定向到我的登录页面。甚至Facebook自己的示例应用程序( therunaround )也有同样的问题,因此我没有检查我想知道是否没有解决问题的方法。

修改

@ codege3k

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

修改

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

有帮助吗?

解决方案

好的,促进会话似乎有效。

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

修改:

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

  

用户的浏览器必须设置为   接受第三方Cookie   它在点击之间保持联系。

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

其他提示

我遇到与第三方Cookie类似的问题。查看此问题并查看其是否已解决

可以通过添加p3p头来解决。

P3P是否可以为不接受第三方Cookie的浏览器解决此问题?我在 http://bugs.developers.facebook.com上评论了一个FB错误。 /show_bug.cgi?id=5009

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top