Module: Whiplash::App::Signing

Included in:
Whiplash::App
Defined in:
lib/whiplash/app/signing.rb

Instance Method Summary collapse

Instance Method Details

#signature(body) ⇒ Object



4
5
6
7
8
# File 'lib/whiplash/app/signing.rb', line 4

def signature(body)
  sha256 = OpenSSL::Digest::SHA256.new
  OpenSSL::HMAC.hexdigest(sha256,
    ENV["WHIPLASH_CLIENT_SECRET"], request_body(body))
end

#verified?(request) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
# File 'lib/whiplash/app/signing.rb', line 10

def verified?(request)
  body = request.try(:body).try(:read)
  request.headers["X-WHIPLASH-SIGNATURE"] == signature(body)
end