class ActiveSupport::MessageVerifier
def verify(message, **options)
verifier.verify(message, purpose: "greeting") # => raises InvalidSignature
verifier.verify(message) # => "bye"
message = verifier.generate("bye")
verifier.verify(message) # => raises InvalidSignature
verifier.verify(message, purpose: "chatting") # => raises InvalidSignature
verifier.verify(message, purpose: "greeting") # => "hello"
message = verifier.generate("hello", purpose: "greeting")
match, +verify+ will raise ActiveSupport::MessageVerifier::InvalidSignature.
The purpose that the message was generated with. If the purpose does not
[+:purpose+]
==== Options
other_verifier.verify(signed_message) # => ActiveSupport::MessageVerifier::InvalidSignature
other_verifier = ActiveSupport::MessageVerifier.new("different_secret")
secret or was not Base64-encoded.
Raises +InvalidSignature+ if the message was not signed with the same
verifier.verify(signed_message) # => "signed message"
signed_message = verifier.generate("signed message")
verifier = ActiveSupport::MessageVerifier.new("secret")
Decodes the signed message using the +MessageVerifier+'s secret.
def verify(message, **options) catch_and_raise :invalid_message_format, as: InvalidSignature do catch_and_raise :invalid_message_serialization do catch_and_raise :invalid_message_content, as: InvalidSignature do read_message(message, **options) end end end end