class EventQ::SignatureProviders::Sha256SignatureProvider
Public Class Methods
new()
click to toggle source
# File lib/eventq_base/signature_providers/sha256_signature_provider.rb, line 5 def initialize require 'openssl' require 'base64' @serializer = serialization_provider_manager.get_provider(EventQ::Configuration.serialization_provider) end
Public Instance Methods
valid?(message:, secret:)
click to toggle source
This method is called to validate a message signature
# File lib/eventq_base/signature_providers/sha256_signature_provider.rb, line 19 def valid?(message:, secret:) signature = write(message: message, secret: secret) message.signature == signature end
write(message:, secret:)
click to toggle source
This method is called to create a signature for a message
# File lib/eventq_base/signature_providers/sha256_signature_provider.rb, line 12 def write(message:, secret:) json = @serializer.serialize(message.content) hash = OpenSSL::HMAC.digest('sha256', secret, json) Base64.encode64(hash) end
Private Instance Methods
serialization_provider_manager()
click to toggle source
# File lib/eventq_base/signature_providers/sha256_signature_provider.rb, line 26 def serialization_provider_manager EventQ::SerializationProviders::Manager.new end