class Onfido::WebhookEventVerifier

Public Class Methods

new(webhook_token) click to toggle source
# File lib/onfido/webhook_event_verifier.rb, line 8
def initialize(webhook_token)
  @webhook_token = webhook_token
end

Public Instance Methods

read_payload(event_body, signature) click to toggle source
# File lib/onfido/webhook_event_verifier.rb, line 12
def read_payload(event_body, signature)
  event_signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), @webhook_token, event_body)

  raise(OnfidoInvalidSignatureError, "Invalid signature for webhook event") unless OpenSSL.secure_compare(signature, event_signature)

  WebhookEvent.build_from_hash(JSON.parse(event_body))
end