ruby-on-rails - 在 rails 3 和 rails 4.1 之间共享 cookie

标签 ruby-on-rails ruby-on-rails-3 cookies ruby-on-rails-4 base64

我正在尝试在 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/

相关文章:

ruby-on-rails - RailsAdmin - 定制你自己的过滤器

php - 如何使用 Zend Framework 3 添加 cookie?

javascript - 从请求 header 获取特定的cookie(express)

ruby-on-rails - 如何使用 Ruby 旋转 PDF 文件

ruby-on-rails - Rails 后台 worker 似乎被包裹在交易中

ruby-on-rails - ruby : How to parse a jsonp and save json data to database

ruby-on-rails - 从 Ajax 调用时不呈现布局

ruby-on-rails - 检测 Rails 4 session cookie 篡改

ruby-on-rails - refund_status NO_API_ACCESS_TO_RECEIVER, Paypal 响应

ruby-on-rails - RoR 将对象添加到已经在 def 初始化中的数组?