class OmniAuth::Strategies::AituPassport
AituPassport
omniauth provider
Constants
- AVAILABLE_SCOPE_OPTIONS
- DEFAULT_SCOPE
Public Class Methods
new(app, *args, &block)
click to toggle source
Omniauth::Strategy
Calls superclass method
# File lib/omniauth/strategies/aitu_passport.rb, line 68 def initialize(app, *args, &block) # Setting up corresponding options super.tap do # Raising up an error if redirect_uri is missing raise ArgumentError, 'Wrong options: redirect_uri option is missing.' unless options[:redirect_uri] options[:client_options][:site] = 'https://passport.stage.supreme-team.tech' if ENV['PASSPORT_STAGING'] end end
Public Instance Methods
raw_info()
click to toggle source
# File lib/omniauth/strategies/aitu_passport.rb, line 87 def raw_info @raw_info ||= access_token.get('/userinfo').parsed end
Private Instance Methods
filter_scope(params)
click to toggle source
# File lib/omniauth/strategies/aitu_passport.rb, line 108 def filter_scope(params) return DEFAULT_SCOPE unless params[:scope] params[:scope].split(' ').select { |e| AVAILABLE_SCOPE_OPTIONS.include?(e) }.join(' ') end
get_session_id()
click to toggle source
# File lib/omniauth/strategies/aitu_passport.rb, line 93 def get_session_id params = ::OAuth2::Authenticator.new(client.id, client.secret, client.options[:auth_scheme]).apply({}) res = client.request(:post, session_url, params) case res.status when 200 JSON.parse(res.body).dig('sessionId') else raise NoSessionError, 'No session ID received, sorry.' end end
session_url()
click to toggle source
# File lib/omniauth/strategies/aitu_passport.rb, line 104 def session_url options[:client_options][:site] + options[:client_options][:session_url] end