Class: OmniAuth::Strategies::ICOS

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

Constant Summary collapse

DEFAULT_SCOPES =
'hydra.consent offline'

Instance Method Summary collapse

Instance Method Details

#basic_auth_headerObject



61
62
63
# File 'lib/omniauth/strategies/icos.rb', line 61

def basic_auth_header
  'Basic ' + Base64.strict_encode64("#{options[:client_id]}:#{options[:client_secret]}")
end

#build_access_tokenObject



56
57
58
59
# File 'lib/omniauth/strategies/icos.rb', line 56

def build_access_token
  options.token_params.merge!(:headers => {'Authorization' => basic_auth_header })
  super
end

#compact_full_nameObject



65
66
67
# File 'lib/omniauth/strategies/icos.rb', line 65

def compact_full_name
  [['FirstName'], ['MiddleName'], ['LastName']].reject { |name| name.empty? }.join(' ')
end

#raw_infoObject



69
70
71
72
73
# File 'lib/omniauth/strategies/icos.rb', line 69

def raw_info
  @raw_info ||= MultiJson.decode(access_token.get('/v1/services/client/').body)
rescue ::Errno::ETIMEDOUT
  raise ::Timeout::Error
end

#user_infoObject



75
76
77
# File 'lib/omniauth/strategies/icos.rb', line 75

def 
  @user_info ||= raw_info.nil? ? {} : raw_info['Result']
end