Sha256: 2a04dd03cf9b003ab2a0b80f8b2a3c75e62f5504f3692063d89e052530c667cb

Contents?: true

Size: 433 Bytes

Versions: 2

Compression:

Stored size: 433 Bytes

Contents

module CrystalApi
  class WebhookVerifier
    include HmacRequestSigning

    attr_reader :secret_signing_key, :request

    def initialize(secret_signing_key, request)
      @secret_signing_key = secret_signing_key
      @request = request
    end

    def verified?
      request_signature(request) == expected_signature
    end

    def expected_signature
      hmac_sha256(secret_signing_key, request.raw_post)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
crystal_api-0.1.0 lib/crystal_api/webhook_verifier.rb
crystal_api-0.0.1 lib/crystal_api/webhook_verifier.rb