You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
940 B
23 lines
940 B
# 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
|
|
|