开发者

Facebook JS SDK Does Not Set fbs_* Cookie in Safari

开发者 https://www.devze.com 2023-04-05 17:40 出处:网络
I\'ve read a few posts about how to fix this, to sum it up: Manually create the fbs_* cookie during the first POST request to your app

I've read a few posts about how to fix this, to sum it up:

  • Manually create the fbs_* cookie during the first POST request to your app
  • Add a "Start App" link, when the user clicks it Safari l开发者_开发技巧ets you set cookies (http://lightyearsoftware.com/2009/11/on-the-pain-of-developing-for-facebook/)
  • Create and submit a form client side (http://anantgarg.com/2010/02/18/cross-domain-cookies-in-safari/)

None of that seems to work, I'm questioning whether or not that information is still valid (I'm on Safari 5.0.5). I need to use the fbs cookie to properly authenticate the user on the server side, and this works on every other browser. I can't set any cookies on the initial POST request, and the client-side form submit doesn't work either. Does Safari not let you set third party cookies even on a POST anymore?


The reason cookies are rejected is a default "third party cookies" policy in Safari.

To properly authenticate the user you better stay away from manual usage of fbs_* cookies placed by Facebook's JS (or any other) SDK and use FB.getSession / FB.getAuthResponse and/or FB.getLoginStatus from JS SDK. On the server side you can use signed_request parameter passed to all Canvas and Page Profile Tab applications.

0

精彩评论

暂无评论...
验证码 换一张
取 消