Class: ADAL::OAuthRequest

Inherits:
Object
  • Object
show all
Includes:
RequestParameters, Util
Defined in:
lib/adal/oauth_request.rb

Overview

A request that can be made to an authentication or token server.

Constant Summary collapse

DEFAULT_CONTENT_TYPE =
'application/x-www-form-urlencoded'
DEFAULT_ENCODING =
'utf8'
SSL_SCHEME =
'https'

Constants included from RequestParameters

RequestParameters::AAD_API_VERSION, RequestParameters::ASSERTION, RequestParameters::CLIENT_ASSERTION, RequestParameters::CLIENT_ASSERTION_TYPE, RequestParameters::CLIENT_ID, RequestParameters::CLIENT_REQUEST_ID, RequestParameters::CLIENT_RETURN_CLIENT_REQUEST_ID, RequestParameters::CLIENT_SECRET, RequestParameters::CODE, RequestParameters::FORM_POST, RequestParameters::GRANT_TYPE, RequestParameters::PASSWORD, RequestParameters::REDIRECT_URI, RequestParameters::REFRESH_TOKEN, RequestParameters::RESOURCE, RequestParameters::SCOPE, RequestParameters::UNIQUE_ID, RequestParameters::USERNAME, RequestParameters::USER_INFO

Instance Method Summary collapse

Methods included from Util

#fail_if_arguments_nil, #http, #string_hash

Constructor Details

#initialize(endpoint, params) ⇒ OAuthRequest

Returns a new instance of OAuthRequest.



40
41
42
43
# File 'lib/adal/oauth_request.rb', line 40

def initialize(endpoint, params)
  @endpoint_uri = URI.parse(endpoint.to_s)
  @params = params
end

Instance Method Details

#executeObject

Requests and waits for a token from the endpoint.

Returns:

  • TokenResponse



52
53
54
55
56
57
# File 'lib/adal/oauth_request.rb', line 52

def execute
  request = Net::HTTP::Post.new(@endpoint_uri.path)
  add_headers(request)
  request.body = URI.encode_www_form(string_hash(params))
  TokenResponse.parse(http(@endpoint_uri).request(request).body)
end

#paramsObject



45
46
47
# File 'lib/adal/oauth_request.rb', line 45

def params
  default_parameters.merge(@params)
end