class SSO::Configuration

Attributes

exception_handler[W]
find_user_for_passport[W]
human_readable_location_for_ip[W]
logger[W]
metric[W]
oauth_client_id[W]
oauth_client_secret[W]
passport_chip_key[W]
passport_verification_timeout_ms[W]
session_backend[W]
user_state_base[W]
user_state_key[W]

Public Instance Methods

environment() click to toggle source
# File lib/sso/configuration.rb, line 73
def environment
  @environment ||= default_environment
end
environment=(new_environment) click to toggle source
# File lib/sso/configuration.rb, line 77
def environment=(new_environment)
  @environment = new_environment.to_s
end
exception_handler() click to toggle source

Both

# File lib/sso/configuration.rb, line 53
def exception_handler
  @exception_handler || default_exception_handler
end
find_user_for_passport() click to toggle source
# File lib/sso/configuration.rb, line 19
def find_user_for_passport
  @find_user_for_passport || fail('You need to configure find_user_for_passport, see SSO::Configuration for more info.')
end
human_readable_location_for_ip() click to toggle source

Server

# File lib/sso/configuration.rb, line 9
def human_readable_location_for_ip
  @human_readable_location_for_ip || default_human_readable_location_for_ip
end
logger() click to toggle source
# File lib/sso/configuration.rb, line 68
def logger
  @logger ||= default_logger
end
metric() click to toggle source
# File lib/sso/configuration.rb, line 58
def metric
  @metric || default_metric
end
oauth_client_id() click to toggle source
# File lib/sso/configuration.rb, line 41
def oauth_client_id
  @oauth_client_id || fail('You need to configure the oauth_client_id, see SSO::Configuration for more info.')
end
oauth_client_secret() click to toggle source
# File lib/sso/configuration.rb, line 46
def oauth_client_secret
  @oauth_client_secret || fail('You need to configure the oauth_client_secret, see SSO::Configuration for more info.')
end
passport_chip_key() click to toggle source
# File lib/sso/configuration.rb, line 63
def passport_chip_key
  @passport_chip_key || fail('You need to configure a secret passport_chip_key, see SSO::Configuration for more info.')
end
passport_verification_timeout_ms() click to toggle source
# File lib/sso/configuration.rb, line 36
def passport_verification_timeout_ms
  @passport_verification_timeout_ms || default_passport_verification_timeout_ms
end
session_backend() click to toggle source

Client

# File lib/sso/configuration.rb, line 31
def session_backend
  @session_backend || default_session_backend
end
user_state_base() click to toggle source
# File lib/sso/configuration.rb, line 14
def user_state_base
  @user_state_base || fail('You need to configure user_state_base, see SSO::Configuration for more info.')
end
user_state_key() click to toggle source
# File lib/sso/configuration.rb, line 24
def user_state_key
  @user_state_key || fail('You need to configure a secret user_state_key, see SSO::Configuration for more info.')
end

Private Instance Methods

default_environment() click to toggle source
# File lib/sso/configuration.rb, line 98
def default_environment
  return ::Rails.env if defined?(::Rails)
  return ENV['RACK_ENV'].to_s if ENV['RACK_ENV'].to_s != ''
  'unknown'
end
default_exception_handler() click to toggle source
# File lib/sso/configuration.rb, line 104
def default_exception_handler
  proc do |exception|
    return unless ::SSO.config.logger
    ::SSO.config.logger.error(self.class) do
      "An internal error occurred #{exception.class.name} #{exception.message} #{exception.backtrace[0..5].join(' ') if exception.backtrace}"
    end
  end
end
default_human_readable_location_for_ip() click to toggle source
# File lib/sso/configuration.rb, line 113
def default_human_readable_location_for_ip
  proc do
    'Unknown'
  end
end
default_log_level() click to toggle source
# File lib/sso/configuration.rb, line 90
def default_log_level
  case environment
  when 'production' then ::Logger::WARN
  when 'test'       then ::Logger::UNKNOWN
  else                   ::Logger::DEBUG
  end
end
default_logger() click to toggle source
# File lib/sso/configuration.rb, line 83
def default_logger
  return ::Rails.logger if defined?(::Rails)
  instance = ::Logger.new STDOUT
  instance.level = default_log_level
  instance
end
default_metric() click to toggle source
# File lib/sso/configuration.rb, line 119
def default_metric
  proc do |type:, key:, value:, tags:, data:|
    debug { "Measuring #{type.inspect} with key #{key.inspect} and value #{value.inspect} and tags #{tags} and data #{data}" }
  end
end
default_passport_verification_timeout_ms() click to toggle source
# File lib/sso/configuration.rb, line 129
def default_passport_verification_timeout_ms
  100
end
default_session_backend() click to toggle source
# File lib/sso/configuration.rb, line 125
def default_session_backend
  fail('You need to configure session_backend, see SSO::Configuration for more info.') unless %w(development test).include?(environment)
end