class Rack::EsaWebhooks::Signature

Constants

HMAC_DIGEST

Public Class Methods

new(secret, signature_in_header, payload_body) click to toggle source
# File lib/rack/esa_webhooks.rb, line 10
def initialize(secret, signature_in_header, payload_body)
  @secret = secret
  @signature_in_header = signature_in_header
  @signature = "sha256=#{OpenSSL::HMAC.hexdigest(HMAC_DIGEST, secret, payload_body)}"
end

Public Instance Methods

valid?() click to toggle source
# File lib/rack/esa_webhooks.rb, line 16
def valid?
  return true unless @secret
  return false unless @signature_in_header
  Rack::Utils.secure_compare(@signature, @signature_in_header)
end