class ActionDispatch::Cookies::SignedCookieJar
:nodoc:
def [](name)
def [](name) if signed_message = @parent_jar[name] deserialize name, verify(signed_message) end end
def []=(name, options)
def []=(name, options) if options.is_a?(Hash) options.symbolize_keys! options[:value] = @verifier.generate(serialize(name, options[:value])) else options = { :value => @verifier.generate(serialize(name, options)) } end raise CookieOverflow if options[:value].bytesize > MAX_COOKIE_SIZE @parent_jar[name] = options end
def initialize(parent_jar, key_generator, options = {})
def initialize(parent_jar, key_generator, options = {}) @parent_jar = parent_jar @options = options secret = key_generator.generate_key(@options[:signed_cookie_salt]) @verifier = ActiveSupport::MessageVerifier.new(secret, digest: digest, serializer: ActiveSupport::MessageEncryptor::NullSerializer) end
def verify(signed_message)
def verify(signed_message) @verifier.verify(signed_message) rescue ActiveSupport::MessageVerifier::InvalidSignature nil end