Module: ActionController::HttpAuthentication::Basic::ControllerMethods

Extended by:
ActiveSupport::Concern
Defined in:
lib/action_controller/metal/http_authentication.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#authenticate_or_request_with_http_basic(realm = nil, message = nil, &login_procedure) ⇒ Object



84
85
86
# File 'lib/action_controller/metal/http_authentication.rb', line 84

def authenticate_or_request_with_http_basic(realm = nil, message = nil, &)
  authenticate_with_http_basic(&) || request_http_basic_authentication(realm || "Application", message)
end

#authenticate_with_http_basic(&login_procedure) ⇒ Object



88
89
90
# File 'lib/action_controller/metal/http_authentication.rb', line 88

def authenticate_with_http_basic(&)
  HttpAuthentication::Basic.authenticate(request, &)
end

#http_basic_authenticate_or_request_with(name:, password:, realm: nil, message: nil) ⇒ Object



77
78
79
80
81
82
# File 'lib/action_controller/metal/http_authentication.rb', line 77

def http_basic_authenticate_or_request_with(name:, password:, realm: nil, message: nil)
  authenticate_or_request_with_http_basic(realm, message) do |given_name, given_password|
    ActiveSupport::SecurityUtils.secure_compare(given_name, name) &
      ActiveSupport::SecurityUtils.secure_compare(given_password, password)
  end
end

#request_http_basic_authentication(realm = "Application", message = nil) ⇒ Object



92
93
94
# File 'lib/action_controller/metal/http_authentication.rb', line 92

def request_http_basic_authentication(realm = "Application", message = nil)
  HttpAuthentication::Basic.authentication_request(self, realm, message)
end