class EventQ::SignatureProviders::Manager
Public Class Methods
new()
click to toggle source
# File lib/eventq/eventq_base/signature_providers.rb, line 9 def initialize @providers = {} @providers[SHA256] = EventQ::SignatureProviders::Sha256SignatureProvider end
Public Instance Methods
get_provider(provider_type)
click to toggle source
This method is called to get a signature provider
# File lib/eventq/eventq_base/signature_providers.rb, line 15 def get_provider(provider_type) provider = @providers[provider_type] if provider == nil raise "Invalid provider type specified: #{provider_type}" end return provider.new end
validate_signature(message:, queue:)
click to toggle source
This method is called to validate a queue message's signature
# File lib/eventq/eventq_base/signature_providers.rb, line 24 def validate_signature(message:, queue:) valid = true if queue.require_signature == true && message.signature == nil valid = false elsif message.signature != nil provider = get_provider(EventQ::Configuration.signature_provider) valid = provider.valid?(message: message, secret: EventQ::Configuration.signature_secret) end if !valid raise EventQ::Exceptions::InvalidSignatureException.new end true end