Подтвердить что ты не робот

Есть ли способ изящно изменить рельсы secret_key_base?

Предположим, мы хотим изменить наше приложение Rails secret_key_base. Есть ли способ сделать это, чтобы сразу не выходить из системы со всех наших пользователей?

При обновлении с Rails 3.2 до 4 с соответствующим изменением от secret_token до secret_key_base, рельсы помогли с миграцией, обновив файлы cookie новых пользователей по мере их поступления на сайт. После того, как посетила большая часть пользователей, вы можете переключиться на secret_key_base исключительно без их регистрации.

Можно ли использовать эту функцию для изменения secret_key_base, скажем, если разработчик уйдет или что-то в этом роде? Идея состоит в том, чтобы установить новый secret_key_base, который будет переключать куки пользователей, когда они придут на сайт. Как только хорошая доля посетила, вы можете сделать жесткий переключатель и удалить старый secret_key_base.

Я нашел старый запрос на восстановление rails, который, похоже, начинает работать с этой функциональностью, но они, похоже, перестали работать над ним.

4b9b3361

Ответ 1

Чтобы выполнить эту работу, вы должны настроить сами рельсы, управляющие версиями. Я не думаю, что этот ответ будет выбран, но я хотел бы предупредить вас о том, насколько глубокими могут быть эти изменения, и отсутствием безопасности, которую вы принесли в свое приложение.

Ответ 2

сначала генерирует секретный

rake secret

и установите эти значения в config/secrets.yml

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

test:
  secret_key_base:

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

, а затем введите секретный ключ в свой .bashrc

gedit .bashrc

вставьте его в конец файла

export SECRET_KEY_BASE='YOUR SECRET KEY'

Ответ 3

рельсы < 5   rake secret

рельсы 5   rails secret