有没有办法优雅地更改rails secret_key_base?

Gab*_*azo 28 ruby-on-rails

假设我们想要更改我们的Rails应用程序secret_key_base.有没有办法不立即注销所有用户?

当从Rails的3.2升级到4,从相应的变化secret_tokensecret_key_base,轨道由他们来到工地更新新用户的Cookie与迁移帮助.一旦很多用户访问过,您可以secret_key_base专门切换到不登出用户.

是否有这种功能可以改变secret_key_base一般情况,比如开发人员离开或类似的东西?我们的想法是设置一个新的secret_key_base,用于在用户访问网站时切换用户的cookie.一旦有好的比例访问过,你可以进行硬切换并删除旧的secret_key_base.

我发现一个旧的rails pull请求似乎从这个功能开始,但它们似乎已经停止了它.

vip*_*pin -4

首先生成秘密

rake secret
Run Code Online (Sandbox Code Playgroud)

并在 config/secrets.yml 中设置这些值

development:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

test:
  secret_key_base:

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)

然后将密钥设置到 .bashrc 中

gedit .bashrc
Run Code Online (Sandbox Code Playgroud)

将其粘贴到文件末尾

export SECRET_KEY_BASE='YOUR SECRET KEY'
Run Code Online (Sandbox Code Playgroud)

  • 这些步骤没有解决所提出的问题。 (2认同)