123456789_123456789_123456789_123456789_123456789_

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

Relationships & Source Files
Namespace Children
Modules:
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: actionpack/lib/action_controller/metal/http_authentication.rb

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

append_features, prepend_features

Instance Method Summary

Instance Method Details

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

[ GitHub ]

  
# File 'actionpack/lib/action_controller/metal/http_authentication.rb', line 95

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)

[ GitHub ]

  
# File 'actionpack/lib/action_controller/metal/http_authentication.rb', line 99

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

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

[ GitHub ]

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

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|
    # This comparison uses & so that it doesn't short circuit and uses
    # `secure_compare` so that length information isn't leaked.
    ActiveSupport::SecurityUtils.secure_compare(given_name.to_s, name) &
      ActiveSupport::SecurityUtils.secure_compare(given_password.to_s, password)
  end
end

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

[ GitHub ]

  
# File 'actionpack/lib/action_controller/metal/http_authentication.rb', line 103

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