Class: Bitkassa::Authentication

Inherits:
Object
  • Object
show all
Defined in:
lib/bitkassa/authentication.rb

Overview

Authenticates a message. Ensures that incoming requests originated at Bitkassa. And signs our own requests so Bitkassa knows it was us who sent the request.

Class Method Summary collapse

Class Method Details

.sign(payload, sent_at) ⇒ Object



7
8
9
10
11
# File 'lib/bitkassa/authentication.rb', line 7

def self.sign(payload, sent_at)
  message = "#{Bitkassa.config.secret_api_key}#{payload}#{sent_at}"
  digest  = Digest::SHA256.hexdigest(message)
  "#{digest}#{sent_at}"
end

.valid?(signature, payload) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/bitkassa/authentication.rb', line 13

def self.valid?(signature, payload)
  sent_at = signature[64..-1]
  signature == sign(payload, sent_at)
end