class OAuth2::YhdClient

Public Instance Methods

get_token(params, access_token_opts = {}, access_token_class = AccessToken) click to toggle source
# File lib/oauth2/yhd_client.rb, line 4
def get_token(params, access_token_opts = {}, access_token_class = AccessToken)
  opts = {:raise_errors => options[:raise_errors], :parse => params.delete(:parse)}
  if options[:token_method] == :post
    headers = params.delete(:headers)
    opts[:body] = params
    opts[:headers] =  {'Content-Type' => 'application/x-www-form-urlencoded'}
    opts[:headers].merge!(headers) if headers
  else
    opts[:params] = params
  end
  response = request(options[:token_method], token_url, opts)
  error = Error.new(response)
  fail(error) if options[:raise_errors] && !(response.parsed.is_a?(Hash) && response.parsed['accessToken'])
  yhd_hash = response.parsed
  puts yhd_hash
  new_hash = {
    access_token: yhd_hash['accessToken'],
    expires_in: yhd_hash['expiresIn'].to_i/1000
  }
  puts new_hash
  puts '_'*88
  access_token_class.from_hash(self, new_hash.merge(access_token_opts))
end