Class: ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar
- Inherits:
-
AbstractCookieJar
- Object
- AbstractCookieJar
- ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar
- Includes:
- SerializedCookieJars
- Defined in:
- lib/action_dispatch/middleware/cookies.rb
Overview
:nodoc:
Constant Summary
Constants included from SerializedCookieJars
SerializedCookieJars::MARSHAL_SIGNATURE, SerializedCookieJars::SERIALIZER
Instance Method Summary collapse
-
#initialize(parent_jar) ⇒ EncryptedKeyRotatingCookieJar
constructor
A new instance of EncryptedKeyRotatingCookieJar.
Methods inherited from AbstractCookieJar
Methods included from ChainedCookieJars
#encrypted, #permanent, #signed, #signed_or_encrypted
Constructor Details
#initialize(parent_jar) ⇒ EncryptedKeyRotatingCookieJar
Returns a new instance of EncryptedKeyRotatingCookieJar.
597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 |
# File 'lib/action_dispatch/middleware/cookies.rb', line 597 def initialize(parent_jar) super if request. key_len = ActiveSupport::MessageEncryptor.key_len() secret = request.key_generator.generate_key(request., key_len) @encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: , serializer: SERIALIZER) else key_len = ActiveSupport::MessageEncryptor.key_len("aes-256-cbc") secret = request.key_generator.generate_key(request., key_len) sign_secret = request.key_generator.generate_key(request.) @encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", serializer: SERIALIZER) end request..encrypted.each do |(*secrets)| = secrets. @encryptor.rotate(*secrets, serializer: SERIALIZER, **) end if legacy_cipher = "aes-256-cbc" secret = request.key_generator.generate_key(request., ActiveSupport::MessageEncryptor.key_len(legacy_cipher)) sign_secret = request.key_generator.generate_key(request.) @encryptor.rotate(secret, sign_secret, cipher: legacy_cipher, digest: digest, serializer: SERIALIZER) end end |