Class: FadadaRubySdk::Signer

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

Overview

To sign client request message and verify tonglian’s response message

Constant Summary collapse

HEADER_STUB =
{
  'X-FASC-Api-SubVersion' => 5.1,
  'X-FASC-Sign-Type' => 'HMAC-SHA256'
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(app_id, app_secret) ⇒ Signer



14
15
16
17
# File 'lib/signer.rb', line 14

def initialize(app_id, app_secret)
  @app_id = app_id
  @app_secret = app_secret
end

Instance Method Details

#sign(access_token = nil, data = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/signer.rb', line 19

def sign(access_token = nil, data={})
  headers, params = generate_headers_params(access_token, data)
  sign_string = make_sign_string(headers.merge(params))

  timestamp = headers['X-FASC-Timestamp']
  signature = generate_signature(sign_string, timestamp, @app_secret)
  headers['X-FASC-Sign'] = signature
  return headers, params
end