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
 | 
			
		||||
		Reference in New Issue
	
	Block a user