module NaspayRails::Auth

Public Class Methods

get_token(params) click to toggle source
# File lib/naspay_rails/auth.rb, line 6
def self.get_token(params)
  route_suffix  = '/auth/token'
  target_url    = "#{params[:api_endpoint]}#{route_suffix}"
  request_uri   = URI.parse(target_url)
  request       = Net::HTTP::Get.new(request_uri)
  request.basic_auth(
      params[:api_login],
      params[:api_password]
  )
  request['Accept'] = 'application/json'
  request.set_form_data(
      'grant_type' => 'client_credentials'
  )
  req_options = {
      use_ssl: request_uri.scheme == 'https'
  }
  Net::HTTP.start(request_uri.hostname, request_uri.port, req_options) {
      |http| JSON.parse(http.request(request).body).values.first
  }
end