class SoarAuthenticationToken::CascadeProvider

Public Class Methods

new(configuration) click to toggle source
# File lib/soar_authentication_token/providers/cascade_provider.rb, line 3
def initialize(configuration)
  @configuration = configuration
  validate_configuration
end

Public Instance Methods

fetch(request) click to toggle source
# File lib/soar_authentication_token/providers/cascade_provider.rb, line 8
def fetch(request)
  # TODO: refactor this functionality into modules - DON'T DUPLICATE!
  fetch_by_cookie(request) || fetch_by_auth_header(request)
end

Private Instance Methods

fetch_by_auth_header(request) click to toggle source
# File lib/soar_authentication_token/providers/cascade_provider.rb, line 21
def fetch_by_auth_header(request)
  return false unless request.env[@configuration['header_name']]

  request.env[@configuration['header_name']]
end
validate_configuration() click to toggle source
# File lib/soar_authentication_token/providers/cascade_provider.rb, line 27
def validate_configuration
  raise "'cookie_name' must be configured" unless @configuration['header_name']
end