会议无使用Rails 3.2.6和3.1.3 authlogic(Session Nil with

2019-09-20 01:45发布

在我们的生产基地,我们正在使用的轨道3.2.3和3.1.0 authlogic。 我能够登录到我们的导轨与任何浏览器应用程序。 目前,我们正在向移动导轨3.2.6,以及升级到使用资产管道,正因为如此,我们也升级authlogic 3.1.3。

问题是,升级到3.2.6导轨和authlogic 3.1.3在本地特性分支,登录在谷歌浏览器和移动时,我能够登录到其运行轨道3.2.3和3.1.0 authlogic,但产量Safari浏览器不工作,并重定向因无会话,而登录在Safari本地工作,和Firefox。 我已经检查和饼干正在对所有的测试设备所接受。 唯一的问题似乎是轨道3.2.3 / 3.1.0 authlogic之间和轨3.2.6 / 3.1.3 authlogic因为没有代码库的已不是宝石版本改变等。

更新:在本地服务器日志,两个谷歌Chrome和移动Safari我得到:警告:无法验证CSRF令牌的真实性,但在Safari上我不是。 = csrf_meta_tag是application.haml

Answer 1:

通过代码回去之后提交,错误朵朵回到我们session_store.rb初始化的变化。 Cookie域没有被正确设置,因此,这是造成该会话浏览器而非应用程序本身来重置为零。 改变配置/初始化/ session_store.rb以下行后:

Application.config.session_store :cookie_store, :key => "_troopswap_session", :domain => '*domain.tld*'

Application.config.session_store :cookie_store, :key => "_troopswap_session", :domain => :all

该Cookie不会被丢弃,我能够登录。



Answer 2:

如果没有深入到这个太远,你试图禁用CSRF令牌验证功能。

随着你更新你提到那里的警告有关CSRF日志,这将导致我相信authlogic的轨道标记请求造假。



文章来源: Session Nil with Rails 3.2.6 and authlogic 3.1.3