class Platbamobilom::Verification

Attributes

id[R]
phone[R]
result[R]
signature[R]

Public Class Methods

new(id:, result:, phone:, signature:) click to toggle source
# File lib/platbamobilom/verification.rb, line 8
def initialize(id:, result:, phone:, signature:)
  @id        = id
  @result    = result
  @phone     = phone
  @signature = signature
end

Public Instance Methods

verify(secret) click to toggle source
# File lib/platbamobilom/verification.rb, line 15
def verify(secret)
  signing_data  = [id, result, phone].join
  digest        = OpenSSL::Digest.new('sha256')
  hmac          = OpenSSL::HMAC.digest(digest, secret, signing_data)
  our_signature = hmac.unpack('H*').join.upcase

  our_signature == signature
end