Class: Workarea::BasicAuth::Middleware::Request

Inherits:
Rack::Auth::AbstractRequest
  • Object
show all
Defined in:
lib/workarea/basic_auth/middleware.rb

Instance Method Summary collapse

Instance Method Details

#basic?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/workarea/basic_auth/middleware.rb', line 54

def basic?
  "basic" == scheme
end

#credentialsObject



58
59
60
# File 'lib/workarea/basic_auth/middleware.rb', line 58

def credentials
  @credentials ||= params.unpack("m*").first.split(/:/, 2)
end

#ip_whitelisted?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/workarea/basic_auth/middleware.rb', line 50

def ip_whitelisted?
  whitelisted_ips.any? { |ip| ip.include?(request.ip) }
end

#path_is_protected?Boolean

Returns:

  • (Boolean)


45
46
47
48
# 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?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/workarea/basic_auth/middleware.rb', line 41

def required?
  !ip_whitelisted? && path_is_protected?
end

#usernameObject



62
63
64
# File 'lib/workarea/basic_auth/middleware.rb', line 62

def username
  credentials.first
end