更改 Rails Secret_key_base 对生产有何影响?

Qwe*_*tie 5 ruby-on-rails ruby-on-rails-5

据我所知,secret_key_base仅用于签名cookie,更改secret_key_base将导致现有cookie失效。我需要在生产中更改secret_key_base,让现有用户注销是可以接受的行为,但我担心可能的其他副作用。旧的 Cookie 会在下次访问网站时被简单地删除/替换,还是会继续存在并导致问题?除了用户注销之外还会发生其他变化吗?

MZa*_*oza 3

\n

application\xe2\x80\x99s key_generator 以及 Secret_key_base 由 Rails 框架内的三个核心功能使用:

\n

1 派生加密 cookie 的密钥,可通过 cookies.encrypted 访问该密钥。

\n

2 派生 HMAC 签名 cookie 的密钥,可通过 cookies.signed 访问该密钥。

\n

3 派生所有名为 message_verifier 实例的 application\xe2\x80\x99 的密钥。

\n
\n

您可以在https://medium.com/@michaeljcoyne/understanding-the-secret-key-base-in-ruby-on-rails-ce2f6f9968a1阅读更多信息

\n

更改 on prod 对您的应用程序的影响secret_key_base将取决于您的应用程序依赖的 cookie 数量。我想说的是,您的所有客户都必须重新生成 cookie 1 次,之后就应该恢复正常了。

\n