我正在尝试在Rails 3和Rails 4.1应用之间共享Cookie。问题是Rails 3 cookie只是base64编码,但Rails 4.1 cookie是加密的。
有没有办法让Rails 3和Rails 4.1使用兼容的cookie?
目前最简单的方法似乎是降级到Rails 4.0
答案 0 :(得分:6)
要使此工作取消设置secret_key_base
,而是使用您在Rails 3应用中使用的secret_token
。然后诀窍是设置action_dispatch.cookies_serializer = :marshal
。否则Rails 4以Rails 3无法读取的格式存储cookie。
所以我的最终config / initializers / session_store.rb有
Rails.application.config.action_dispatch.cookies_serializer = :marshal
Rails.application.config.secret_token = 'verylongstring'
答案 1 :(得分:0)
您是否尝试取消设置secret_key_base
并将secret_token
设置为您在Rails 3应用中使用的相同值?这可能不起作用,但我没有在4.1升级指南中看到任何内容,表明它不会。
如果这不起作用,我可以想到的选项: