method
new
Ruby on Rails latest stable (v7.1.3.2)
-
0 notes -
Class: EncryptedKeyRotatingCookieJar
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
new(parent_jar)
public
Hide source
# File actionpack/lib/action_dispatch/middleware/cookies.rb, line 634 def initialize(parent_jar) super if request.use_authenticated_cookie_encryption key_len = ActiveSupport::MessageEncryptor.key_len(encrypted_cookie_cipher) secret = request.key_generator.generate_key(request.authenticated_encrypted_cookie_salt, key_len) @encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: encrypted_cookie_cipher, serializer: SERIALIZER) else key_len = ActiveSupport::MessageEncryptor.key_len("aes-256-cbc") secret = request.key_generator.generate_key(request.encrypted_cookie_salt, key_len) sign_secret = request.key_generator.generate_key(request.encrypted_signed_cookie_salt) @encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", serializer: SERIALIZER) end request.cookies_rotations.encrypted.each do |(*secrets)| options = secrets.extract_options! @encryptor.rotate(*secrets, serializer: SERIALIZER, **options) end if upgrade_legacy_hmac_aes_cbc_cookies? legacy_cipher = "aes-256-cbc" secret = request.key_generator.generate_key(request.encrypted_cookie_salt, ActiveSupport::MessageEncryptor.key_len(legacy_cipher)) sign_secret = request.key_generator.generate_key(request.encrypted_signed_cookie_salt) @encryptor.rotate(secret, sign_secret, cipher: legacy_cipher, digest: digest, serializer: SERIALIZER) elsif prepare_upgrade_legacy_hmac_aes_cbc_cookies? future_cipher = encrypted_cookie_cipher secret = request.key_generator.generate_key(request.authenticated_encrypted_cookie_salt, ActiveSupport::MessageEncryptor.key_len(future_cipher)) @encryptor.rotate(secret, nil, cipher: future_cipher, serializer: SERIALIZER) end end