class OmniAuth::Swagger::OAuth2Definition

Constants

OPTION_AUTHORIZE_URL
OPTION_CLIENT_ID
OPTION_CLIENT_SECRET
OPTION_SCOPE
OPTION_SUBDOMAIN
OPTION_TOKEN_URL

Attributes

client_id[R]
client_options[R]
client_secret[R]

Public Class Methods

new(security_def, spec, options) click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 15
def initialize(security_def, spec, options)
  @security_def, @spec, @options = security_def, spec, options
end

Public Instance Methods

authorize_params() click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 35
def authorize_params
  @security_def.extensions[:authorize_parameters]
end
load_options(options) click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 19
def load_options(options)
  options[:client_id] = @options[OPTION_CLIENT_ID]
  options[:client_secret] = @options[OPTION_CLIENT_SECRET]
  options[:client_options][OPTION_AUTHORIZE_URL] = prepare_url(@security_def.authorization_url)
  options[:client_options][OPTION_TOKEN_URL] = prepare_url(@security_def.token_url)
  options[:scope] = @options[OPTION_SCOPE]
end
oauth2_key() click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 27
def oauth2_key
  @security_def.id.to_sym
end
scopes() click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 31
def scopes
  @security_def.scopes ? @security_def.scopes.keys : []
end

Protected Instance Methods

prepare_url(url) click to toggle source
# File lib/omniauth/swagger/oauth2_definition.rb, line 41
def prepare_url(url)
  if (base_host = @spec.extensions[:base_host]) &&
      (subdomain = @options[OPTION_SUBDOMAIN]) &&
      !url.match(/^https?\/\//)
    "https://#{subdomain}.#{base_host}#{url}"
  else
    url
  end
end