class OmniAuth::Strategies::NexaasID
Constants
- DEFAULT_SCOPE
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/nexaas_id.rb, line 10 def initialize(*args) @api_token = nil super end
Public Instance Methods
list_emails?()
click to toggle source
# File lib/omniauth/strategies/nexaas_id.rb, line 54 def list_emails? options[:list_emails] || options['list_emails'] || options[:client_options][:list_emails] # TODO: remove this line end
raw_info()
click to toggle source
# File lib/omniauth/strategies/nexaas_id.rb, line 45 def raw_info @raw_info ||= build_raw_info end
request_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/nexaas_id.rb, line 49 def request_phase options[:authorize_params][:scopes] = options['scope'] || DEFAULT_SCOPE super end
Protected Instance Methods
add_email_list_to(acc)
click to toggle source
# File lib/omniauth/strategies/nexaas_id.rb, line 72 def add_email_list_to(acc) acc['emails'] = retrieve_emails(acc['id']) acc end
build_access_token()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/nexaas_id.rb, line 61 def build_access_token if (token = super) && token.params @api_token = token.params['api_token'] end token end
build_raw_info()
click to toggle source
# File lib/omniauth/strategies/nexaas_id.rb, line 68 def build_raw_info add_email_list_to(access_token.get('/api/v1/profile').parsed) end
retrieve_emails(id)
click to toggle source
# File lib/omniauth/strategies/nexaas_id.rb, line 77 def retrieve_emails(id) return unless list_emails? # guard: access endpoint only if allowed emails = access_token.get('/api/v1/profile/emails').parsed got = emails['id'] raise "unexpected id #{got} retrieving e-mails for #{id}" unless got == id emails['emails'] rescue StandardError => err warn(err) nil end