Class: ActionDispatch::Cookies::SignedKeyRotatingCookieJar

Inherits:
AbstractCookieJar show all
Includes:
SerializedCookieJars
Defined in:
lib/action_dispatch/middleware/cookies.rb

Overview

:nodoc:

Constant Summary

Constants included from SerializedCookieJars

ActionDispatch::Cookies::SerializedCookieJars::MARSHAL_SIGNATURE, ActionDispatch::Cookies::SerializedCookieJars::SERIALIZER

Instance Method Summary collapse

Methods inherited from AbstractCookieJar

#[], #[]=

Methods included from ChainedCookieJars

#encrypted, #permanent, #signed, #signed_or_encrypted

Constructor Details

#initialize(parent_jar) ⇒ SignedKeyRotatingCookieJar

Returns a new instance of SignedKeyRotatingCookieJar.



574
575
576
577
578
579
580
581
582
583
584
585
586
587
# File 'lib/action_dispatch/middleware/cookies.rb', line 574

def initialize(parent_jar)
  super

  secret = request.key_generator.generate_key(request.signed_cookie_salt)
  @verifier = ActiveSupport::MessageVerifier.new(secret, digest: signed_cookie_digest, serializer: SERIALIZER)

  request.cookies_rotations.signed.each do |*secrets, **options|
    @verifier.rotate(*secrets, serializer: SERIALIZER, **options)
  end

  if upgrade_legacy_signed_cookies?
    @verifier.rotate request.secret_token, serializer: SERIALIZER
  end
end