Method: ActionController::HttpAuthentication::Token#token_and_options

Defined in:
actionpack/lib/action_controller/metal/http_authentication.rb

#token_and_options(request) ⇒ Object

Parses the token and options out of the token Authorization header. The value for the Authorization header is expected to have the prefix ‘“Token”` or `“Bearer”`. If the header looks like this:

Authorization: Token token="abc", nonce="def"

Then the returned token is ‘“abc”`, and the options are `“def”`.

Returns an Array of ‘[String, Hash]` if a token is present. Returns nil if no token is found.

#### Parameters

  • request - ActionDispatch::Request instance with the current headers.



494
495
496
497
498
499
500
# File 'actionpack/lib/action_controller/metal/http_authentication.rb', line 494

def token_and_options(request)
  authorization_request = request.authorization.to_s
  if authorization_request[TOKEN_REGEX]
    params = token_params_from authorization_request
    [params.shift[1], Hash[params].with_indifferent_access]
  end
end