我遇到了一个问题,Facebook JavaScript SDK 没有在某些机器上设置 cookie,因此当我尝试使用我的应用程序的 secret 值验证 cookie 时,我的后端验证失败了。
我有一个 demo app ;重要的文件是:
客户端使用 Facebook JavaScript API 登录用户并获取他们的详细信息,然后将这些发布到我的服务器。服务器发回客户端随后显示的 fbs_APPID
。在某些 Windows 机器上(在所有浏览器中),服务器没有获得预期的 cookie。是什么阻止了 Facebook 设置 cookie,我该如何修复它?
演示应用程序是在 Sinatra 中,但我们发现错误的生产应用程序是 Rails,如果这有所不同的话。
最佳答案
看一下 JS 的初始化代码:
<script>
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
您是否启用了 cookie 来获得 cookie 支持?还要确保您没有在浏览器中禁用 cookie。
关于javascript - 为什么 Facebook JavaScript SDK 不设置 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3265435/