class OmniAuth::Strategies::AzureOauth2

Constants

BASE_AZURE_URL

Public Instance Methods

callback_url() click to toggle source
# File lib/omniauth/strategies/azure_oauth2.rb, line 62
def callback_url
  full_host + script_name + callback_path
end
client() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/azure_oauth2.rb, line 19
def client
  if options.tenant_provider
    provider = options.tenant_provider.new(self)
  else
    provider = options  # if pass has to config, get mapped right on to options
  end

  options.client_id = provider.client_id
  options.client_secret = provider.client_secret
  options.tenant_id =
    provider.respond_to?(:tenant_id) ? provider.tenant_id : 'common'
  options.base_azure_url =
    provider.respond_to?(:base_azure_url) ? provider.base_azure_url : BASE_AZURE_URL

  options.authorize_params = provider.authorize_params if provider.respond_to?(:authorize_params)
  options.authorize_params.domain_hint = provider.domain_hint if provider.respond_to?(:domain_hint) && provider.domain_hint
  options.authorize_params.prompt = request.params['prompt'] if request.params['prompt']
  options.client_options.authorize_url = "#{options.base_azure_url}/#{options.tenant_id}/oauth2/authorize"
  options.client_options.token_url = "#{options.base_azure_url}/#{options.tenant_id}/oauth2/token"
  super
end
raw_info() click to toggle source
# File lib/omniauth/strategies/azure_oauth2.rb, line 66
def raw_info
  # it's all here in JWT http://msdn.microsoft.com/en-us/library/azure/dn195587.aspx
  @raw_info ||= ::JWT.decode(access_token.token, nil, false).first
end
token_params() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/azure_oauth2.rb, line 57
def token_params
  azure_resource = request.env['omniauth.params'] && request.env['omniauth.params']['azure_resource']
  super.merge(resource: azure_resource || options.resource)
end