class OmniAuth::Strategies::Swagger
Constants
- OPTION_SPECIFICATION
- OPTION_SUBDOMAIN
- OPTION_UID
Public Instance Methods
callback_url()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/swagger.rb, line 40 def callback_url url = super url + (url.index('?') ? '&' : '?') + "#{options[:provider_param]}=#{provider_name}" end
setup_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/swagger.rb, line 20 def setup_phase load_definition @definition.load_options(options) super end
Protected Instance Methods
load_definition()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 118 def load_definition specification.security_definitions.each_pair do |name, definition| if definition.type == 'oauth2' @definition = OmniAuth::Swagger::OAuth2Definition.new(definition, specification, provider_options) end end nil end
load_specification()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 131 def load_specification provider_options[OPTION_SPECIFICATION].call end
provider_lookup()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 86 def provider_lookup @provider_lookup ||= begin if lookup_opt = options[:provider_lookup] if lookup_opt.kind_of? Class lookup_opt.new else lookup_opt end else OmniAuth::Swagger::DefaultProviderLookup.new(options[:providers]) end end end
provider_name()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 73 def provider_name @provider_name ||= begin unless nm = request.params[options[:provider_param]] raise OmniAuth::Error, "Unable to determine provider" end nm.to_sym end end
provider_options()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 82 def provider_options @provider_options ||= provider_lookup.get(provider_name, env) end
raw_info()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 104 def raw_info if uid_options api_options = {@definition.oauth2_key => {token: access_token.token}} if provider_options[OPTION_SUBDOMAIN] api_options[:subdomain] = provider_options[OPTION_SUBDOMAIN] end api_class = Apiture.build_api(specification) api = api_class.new(api_options) api.__send__(uid_options.api_operation, uid_options.api_params).body else {} end end
specification()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 127 def specification @specification ||= load_specification end
uid_options()
click to toggle source
# File lib/omniauth/strategies/swagger.rb, line 100 def uid_options @uid_options ||= OmniAuth::Swagger::UIDOptions.from_options(provider_options[OPTION_UID]) end