class ADAL::OAuthRequest

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

Constants

DEFAULT_CONTENT_TYPE
DEFAULT_ENCODING
SSL_SCHEME

Public Class Methods

new(endpoint, params) click to toggle source
# File lib/adal/oauth_request.rb, line 40
def initialize(endpoint, params)
  @endpoint_uri = URI.parse(endpoint.to_s)
  @params = params
end

Public Instance Methods

execute() click to toggle source

Requests and waits for a token from the endpoint. @return TokenResponse

# 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
params() click to toggle source
# File lib/adal/oauth_request.rb, line 45
def params
  default_parameters.merge(@params)
end

Private Instance Methods

add_headers(request) click to toggle source

Adds the necessary OAuth headers.

@param Net::HTTPGenericRequest

# File lib/adal/oauth_request.rb, line 65
def add_headers(request)
  return if Logging.correlation_id.nil?
  request.add_field(CLIENT_REQUEST_ID.to_s, Logging.correlation_id)
  request.add_field(CLIENT_RETURN_CLIENT_REQUEST_ID.to_s, true)
end
default_parameters() click to toggle source
# File lib/adal/oauth_request.rb, line 71
def default_parameters
  { encoding: DEFAULT_ENCODING,
    AAD_API_VERSION => '1.0' }
end