class Naver::Searchad::Api::Auth::CustomerAcccountCredentials

Constants

API_KEY_HEADER
CUSTOMER_HEADER
SIGNATURE_HEADER
TIMESTAMP_HEADER

Attributes

api_key[R]
api_secret[R]
customer_id[R]

Public Class Methods

new(api_key, api_secret, customer_id) click to toggle source
# File lib/naver/searchad/api/auth.rb, line 18
def initialize(api_key, api_secret, customer_id)
  @api_key = api_key
  @api_secret = api_secret
  @customer_id = customer_id
end

Public Instance Methods

apply(hash, request_uri, method) click to toggle source
# File lib/naver/searchad/api/auth.rb, line 24
def apply(hash, request_uri, method)
  timestamp = Time.now.to_i

  hash[TIMESTAMP_HEADER] = timestamp
  hash[API_KEY_HEADER] = api_key
  hash[CUSTOMER_HEADER] = customer_id
  hash[SIGNATURE_HEADER] = generate_signature(api_secret, request_uri, method, timestamp)
end

Private Instance Methods

generate_signature(secret, request_uri, method, timestamp) click to toggle source
# File lib/naver/searchad/api/auth.rb, line 35
def generate_signature(secret, request_uri, method, timestamp)
  method = method.to_s.upcase if method.is_a?(Symbol)

  Base64.encode64(OpenSSL::HMAC.digest(
    OpenSSL::Digest::SHA256.new,
    secret,
    [timestamp, method, request_uri].join('.')
  )).gsub("\n", '')
end