Files
danbooru/app/logical/danbooru/message_verifier.rb
evazion 0f0e7cedf3 dmails: fixup exceptions when verifying dmail keys.
Fix show action throwing exceptions when viewing a dmail without a dmail key.
2020-03-14 21:09:25 -05:00

24 lines
637 B
Ruby

module Danbooru
class MessageVerifier
attr_reader :purpose, :secret, :verifier
def initialize(purpose)
@purpose = purpose
@secret = Rails.application.key_generator.generate_key(purpose.to_s)
@verifier = ActiveSupport::MessageVerifier.new(secret, serializer: JSON, digest: "SHA256")
end
def generate(*args, **options)
verifier.generate(*args, purpose: purpose, **options)
end
def verify(*args, **options)
verifier.verify(*args, purpose: purpose, **options)
end
def verified(*args, **options)
verifier.verified(*args, purpose: purpose, **options)
end
end
end