Pod*_*Pod 7 cookies facebook ruby-on-rails
我有一个Rails应用程序在Fabebook内部作为iframe运行.我使用Koala gem进行FB通信(某些部分也使用js SDK)和Devise作为身份验证基础.
一段时间以来,我发现应用程序在iframe中运行的问题存在一些问题.因此无法设置第三方cookie.对于IE,我使用P3P标头,以某种方式缓解问题.
但整件事情让人很困惑.我在雪豹上.
例如:
使用Safari 5.1.1,我设置了"阻止来自第三方和广告商的cookie".该应用程序工作正常,它可以毫无问题地使用.
使用Chrome 5.0.874(最新更新)选中"阻止设置第三方Cookie"选项,以便我的应用设置的两个主要Cookie(应用程序cookie和fbs_xxxx cookie)无法设置,因此应用程序无法运行用户需要始终进行身份验证.
Opera 11.52没有引用第三方cookie,浏览器设置为"仅接受我访问过的网站的cookie".我的应用程序可以正常使用该设置.
使用Firefox 7.0.1我的应用程序工作,但我找不到任何处理cookie的设置.只是为了删除它们.
显然我的问题在于Chrome,但同样的设置适用于Safari.所以我真的很困惑.
要求用户允许第三方cookie是解决此问题的唯一方法吗?
谢谢.
更新我当前的工作解决方案
我做了一些额外的研究和测试.我确实尝试使用Rails替代会话存储方法.默认情况下,它们存储在cookie中,但您可以将会话数据存储在内存,数据库等中.但这还不够,因为它仍然使用带有指向您选择的备用存储的指针的cookie.
最后,我设置了一些信息,该URL允许我找到当前登录用户的身份,获取用户并使用Devises sign_in方法手动登录该用户.我不太喜欢它,但现在我可以阻止第三方cookie并仍然有效.我稍后会进行更改,而不是在那里有真正的信息,我将获得一个memcached条目的密钥,从那里我将获得用户(之前设置),毕竟只有我的应用程序应该有权访问该memcached服务器.
谢谢.
| 归档时间: |
|
| 查看次数: |
2116 次 |
| 最近记录: |