我有一个基于 Rails 3 编写的旧应用程序。该应用程序有一个自制的身份验证系统,并广泛使用 cookie 来获取会话、用户 ID、角色等信息。尽管该应用程序是基于 Rails 3 构建的,但它不是 Rails 应用程序,并且已决定慢慢将其部分替换。
我们将把 nginx 放在新旧应用程序的前面,并使用 nginx 作为传递代理将不同的 url 路径路由到两个应用程序之一。
关键是不能在 Rails 3 应用程序上更改代码,因为它会使所有现有的 cookie 无效。
新的 Rails 5 应用程序将用于身份验证,其想法是创建一个 cookie,旧的 Rails 3 应用程序可以读取并用作单点登录解决方案。
对于 Rails 5 应用程序,我们将使用 Devise。Rails 5 具有加密的 cookie,Rails 3 使用签名的编码 cookie。有没有办法告诉 Rails 5 创建旧的 Rails 3 样式的 cookie?
Rails 3 应用程序中的代码无法更改,因为它会使所有现有 cookie 无效。