method
generate
v7.1.3.2 -
Show latest stable
- Class:
ActiveSupport::MessageVerifier
generate(value, **options)public
Generates a signed message for the provided value.
The message is signed with the MessageVerifier's secret. Returns Base64-encoded message joined with the generated signature.
verifier = ActiveSupport::MessageVerifier.new("secret") verifier.generate("signed message") # => "BAhJIhNzaWduZWQgbWVzc2FnZQY6BkVU--f67d5f27c3ee0b8483cebf2103757455e947493b"
Options
- :expires_at
-
The datetime at which the message expires. After this datetime, verification of the message will fail.
message = verifier.generate("hello", expires_at: Time.now.tomorrow) verifier.verified(message) # => "hello" # 24 hours later... verifier.verified(message) # => nil verifier.verify(message) # => raises ActiveSupport::MessageVerifier::InvalidSignature
- :expires_in
-
The duration for which the message is valid. After this duration has elapsed, verification of the message will fail.
message = verifier.generate("hello", expires_in: 24.hours) verifier.verified(message) # => "hello" # 24 hours later... verifier.verified(message) # => nil verifier.verify(message) # => raises ActiveSupport::MessageVerifier::InvalidSignature
- :purpose
-
The purpose of the message. If specified, the same purpose must be specified when verifying the message; otherwise, verification will fail. (See #verified and #verify.)