Class: OmniAuth::Strategies::Samaritan

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/samaritan.rb

Instance Method Summary collapse

Instance Method Details

#authorization(client_id, client_secret) ⇒ Object



49
50
51
# File 'lib/omniauth/strategies/samaritan.rb', line 49

def authorization(client_id, client_secret)
  'Basic ' + Base64.encode64(client_id + ':' + client_secret).gsub("\n", '')
end

#clientObject



41
42
43
# File 'lib/omniauth/strategies/samaritan.rb', line 41

def client
  ::OAuth2::Client.new(options.client_id, options.client_secret, deep_symbolize(client_options))
end

#client_optionsObject



24
25
26
27
28
29
# File 'lib/omniauth/strategies/samaritan.rb', line 24

def client_options
  client_options = options.client_options
  client_options = options.sandbox_client_options if options.environment == :sandbox
  client_options = options.production_client_options if options.environment == :production
  client_options
end

#raw_infoObject



73
74
75
76
# File 'lib/omniauth/strategies/samaritan.rb', line 73

def raw_info
  identity_endpoint = client_options[:site].to_s.gsub(/\/\z/, '') + client_options[:identity_url].to_s
  @raw_info ||= access_token.get(identity_endpoint).parsed
end

#request_phaseObject



31
32
33
34
35
36
37
38
39
# File 'lib/omniauth/strategies/samaritan.rb', line 31

def request_phase
  if request.params['access_token']
    self.access_token = build_access_token_from_params(request.params)
    env['omniauth.auth'] = auth_hash
    call_app!
  else
    super
  end
end

#token_paramsObject



45
46
47
# File 'lib/omniauth/strategies/samaritan.rb', line 45

def token_params
  super.merge({:headers => {'Authorization' => authorization(options.client_id, options.client_secret)}})
end