Facebook JS SDK不在Safari中设置fbs_ * Cookie

时间:2011-09-15 19:39:14

标签: facebook cookies sdk safari

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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