class Workarea::BasicAuth::Middleware::Request

Public Instance Methods

basic?() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 54
def basic?
  "basic" == scheme
end
credentials() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 58
def credentials
  @credentials ||= params.unpack("m*").first.split(/:/, 2)
end
ip_whitelisted?() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 50
def ip_whitelisted?
  whitelisted_ips.any? { |ip| ip.include?(request.ip) }
end
path_is_protected?() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 45
def path_is_protected?
  return false if excluded_routes.matches?(request)
  protected_routes.matches?(request)
end
required?() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 41
def required?
  !ip_whitelisted? && path_is_protected?
end
username() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 62
def username
  credentials.first
end

Private Instance Methods

excluded_routes() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 72
def excluded_routes
  Workarea.config.basic_auth.exclude_routes
end
protected_routes() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 68
def protected_routes
  Workarea.config.basic_auth.protect_routes
end
whitelisted_ips() click to toggle source
# File lib/workarea/basic_auth/middleware.rb, line 76
def whitelisted_ips
  Array.wrap(Workarea.config.basic_auth.whitelisted_ips)
end