【问题标题】:Facebook JS SDK Does Not Set fbs_* Cookie in SafariFacebook JS SDK 未在 Safari 中设置 fbs_* Cookie
【发布时间】:2011-10-04 05:29:13
【问题描述】:

我已经阅读了一些关于如何解决这个问题的帖子,总结一下:

  • 在向您的应用发出第一个 POST 请求期间手动创建 fbs_* cookie
  • 添加“启动应用程序”链接,当用户单击它时,Safari 允许您设置 cookie (http://lightyearsoftware.com/2009/11/on-the-pain-of-developing-for-facebook/)
  • 创建并提交表单客户端 (http://anantgarg.com/2010/02/18/cross-domain-cookies-in-safari/)

这些似乎都不起作用,我在质疑该信息是否仍然有效(我在 Safari 5.0.5 上)。我需要使用 fbs cookie 来正确验证服务器端的用户,这适用于所有其他浏览器。我无法在初始 POST 请求中设置任何 cookie,并且客户端表单提交也不起作用。 Safari 是否不再允许您在 POST 上设置第三方 cookie?

【问题讨论】:

    标签: facebook cookies sdk safari


    【解决方案1】:

    拒绝 cookie 的原因是 Safari 中默认的“第三方 cookie”政策。

    要正确验证用户身份,您最好不要手动使用 Facebook 的 JS(或任何其他)SDK 放置的 fbs_* cookie,而是使用 JS SDK 中的 FB.getSession / FB.getAuthResponse 和/或 FB.getLoginStatus。在服务器端,您可以使用 signed_request 参数传递给所有 Canvas 和 Page Profile Tab 应用程序。

    【讨论】:

      猜你喜欢
      • 2012-07-17
      • 2017-04-13
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多