module ActionController::HttpAuthentication::Basic::ControllerMethods

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

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