Module: Identisure

Defined in:
lib/identisure/ftn.rb,
lib/identisure/error.rb,
lib/identisure/freja.rb,
lib/identisure/vipps.rb,
lib/identisure/client.rb,
lib/identisure/mit_id.rb,
lib/identisure/version.rb,
lib/identisure/callback.rb,
lib/identisure/document.rb,
lib/identisure/transport.rb,
lib/identisure/bank_id_no.rb,
lib/identisure/bank_id_se.rb,
lib/identisure/environment.rb,
lib/identisure/poll_options.rb,
lib/identisure/age_verification.rb

Defined Under Namespace

Modules: AgeVerification, BankIdNo, BankIdSe, Document, Environment, Freja, Ftn, MitId, Vipps Classes: Client, ClientBuilder, IdentisureError, PollOptions, WaitError

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.verify_callback_signature(body, signature, secret) ⇒ Object

Verifies the X-Signature-SHA256 header of a callback request. Pass the raw request body as received, before parsing it.



8
9
10
11
12
13
14
# File 'lib/identisure/callback.rb', line 8

def self.verify_callback_signature(body, signature, secret)
  expected = OpenSSL::HMAC.digest('SHA256', secret, body)
  actual = signature.unpack1('m0')
  actual.bytesize == expected.bytesize && OpenSSL.fixed_length_secure_compare(actual, expected)
rescue ArgumentError
  false
end