parent
d4bbe8b719
commit
8224178e8c
1 changed files with 23 additions and 0 deletions
23
config/initializers/cookie_rotator.rb
Normal file
23
config/initializers/cookie_rotator.rb
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# TODO: remove this file some time after 4.3.0
|
||||||
|
|
||||||
|
Rails.application.config.after_initialize do
|
||||||
|
Rails.application.config.action_dispatch.cookies_rotations.tap do |cookies|
|
||||||
|
authenticated_encrypted_cookie_salt = Rails.application.config.action_dispatch.authenticated_encrypted_cookie_salt
|
||||||
|
signed_cookie_salt = Rails.application.config.action_dispatch.signed_cookie_salt
|
||||||
|
|
||||||
|
secret_key_base = Rails.application.secret_key_base
|
||||||
|
|
||||||
|
key_generator = ActiveSupport::KeyGenerator.new(
|
||||||
|
secret_key_base, iterations: 1000, hash_digest_class: OpenSSL::Digest::SHA1
|
||||||
|
)
|
||||||
|
key_len = ActiveSupport::MessageEncryptor.key_len
|
||||||
|
|
||||||
|
old_encrypted_secret = key_generator.generate_key(authenticated_encrypted_cookie_salt, key_len)
|
||||||
|
old_signed_secret = key_generator.generate_key(signed_cookie_salt)
|
||||||
|
|
||||||
|
cookies.rotate :encrypted, old_encrypted_secret
|
||||||
|
cookies.rotate :signed, old_signed_secret
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue