我正在尝试在 Rails 3 和 Rails 4.1 应用程序之间共享 cookie。问题是 Rails 3 cookie 只是 base64 编码,但 Rails 4.1 cookie 是加密的。
有没有办法让 Rails 3 和 Rails 4.1 都使用兼容的 cookie?
目前最简单的方法似乎是降级到 Rails 4.0
最佳答案
要取消此工作设置 secret_key_base
而是使用相同的 secret_token
您在 Rails 3 应用程序中使用的。那么诀窍是还要设置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'
关于ruby-on-rails - 在 rails 3 和 rails 4.1 之间共享 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24616511/