instance method
authenticate
Ruby on Rails edge
Since v3.0.20Signature
authenticate(controller, scheme: nil, &login_procedure)
If token Authorization header is present, call the login procedure with the present token and options.
Returns the return value of login_procedure if a token is found. Returns nil if no token is found.
Parameters
-
controller-ActionController::Baseinstance for the current request. -
scheme- Optional authentication scheme (or array of schemes) to allow. Defaults toSCHEMES. -
login_procedure- Proc to call if a token is present. The Proc should take two or three arguments:authenticate(controller) { |token, options, scheme| ... }The third argument contains the downcased authentication scheme from the request, e.g.
:token,:bearer, or:dpop.
Parameters
-
controllerreq -
schemekey = nil -
login_procedureblock
Source
# File actionpack/lib/action_controller/metal/http_authentication.rb, line 487
def authenticate(controller, scheme: nil, &login_procedure)
request = controller.request
request_scheme = normalize_scheme(request.authorization.to_s[AUTH_SCHEME_REGEX, 1])
schemes = normalize_schemes(scheme.presence || SCHEMES)
token, options = token_and_options(request)
unless token.blank? || !schemes.include?(request_scheme)
login_procedure.call(token, options, request_scheme)
end
end
Defined in actionpack/lib/action_controller/metal/http_authentication.rb line 487
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionController::HttpAuthentication::Token