Class: OmniAuth::Strategies::AzureActiveDirectoryV2

Inherits:
Object
  • Object
show all
Includes:
OmniAuth::Strategy, Omniauth::AzureActiveDirectoryV2
Defined in:
lib/omniauth/strategies/azure_activedirectory_v2.rb

Defined Under Namespace

Classes: OAuthError

Constant Summary collapse

NONCE_SESSION_KEY =
'omniauth-azure-activedirectory.nonce'

Constants included from Omniauth::AzureActiveDirectoryV2

Omniauth::AzureActiveDirectoryV2::VERSION

Instance Method Summary collapse

Instance Method Details

#callback_phaseObject



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/omniauth/strategies/azure_activedirectory_v2.rb', line 67

def callback_phase
  error = request.params['error'] || request.params['error_description'] || request.params['error_uri']
  error_description = request.params['error_description']

  raise OAuthError, error: request.params['error'], reason: error_description, uri: request.params['error_uri'] if error

  @session_state = request.params['session_state']
  @code = request.params['code']

  @access_token, @id_token = exchange_code_for_creds(@code)
  @claims, @header = validate_and_parse_id_token(@id_token)

  super
rescue OAuthError => e
  fail!(e.error, e)
end

#request_phaseObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/omniauth/strategies/azure_activedirectory_v2.rb', line 49

def request_phase
  uri = URI(openid_config.authorization_endpoint)

  opts = {
    client_id: client_id,
    redirect_uri: redirect_uri,
    response_mode: options.response_mode,
    response_type: options.response_type,
    scope: options.scope,
    nonce: new_nonce
  }

  opts.merge!(authorize_options) unless authorize_options.empty?

  uri.query = URI.encode_www_form(opts.compact)
  redirect uri.to_s
end