Class: OmniAuth::Strategies::ICOS
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::ICOS
- Defined in:
- lib/omniauth/strategies/icos.rb
Constant Summary collapse
- DEFAULT_SCOPES =
'hydra.consent offline'
Instance Method Summary collapse
- #basic_auth_header ⇒ Object
- #build_access_token ⇒ Object
- #compact_full_name ⇒ Object
- #raw_info ⇒ Object
- #user_info ⇒ Object
Instance Method Details
#basic_auth_header ⇒ Object
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_token ⇒ Object
56 57 58 59 |
# File 'lib/omniauth/strategies/icos.rb', line 56 def build_access_token .token_params.merge!(:headers => {'Authorization' => basic_auth_header }) super end |
#compact_full_name ⇒ Object
65 66 67 |
# File 'lib/omniauth/strategies/icos.rb', line 65 def compact_full_name [user_info['FirstName'], user_info['MiddleName'], user_info['LastName']].reject { |name| name.empty? }.join(' ') end |
#raw_info ⇒ Object
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_info ⇒ Object
75 76 77 |
# File 'lib/omniauth/strategies/icos.rb', line 75 def user_info @user_info ||= raw_info.nil? ? {} : raw_info['Result'] end |