name: Authenticate
class_comment: null
dependencies:
- name: Closure
  type: class
  source: Closure
- name: AuthenticationException
  type: class
  source: Illuminate\Auth\AuthenticationException
- name: Auth
  type: class
  source: Illuminate\Contracts\Auth\Factory
- name: AuthenticatesRequests
  type: class
  source: Illuminate\Contracts\Auth\Middleware\AuthenticatesRequests
- name: Request
  type: class
  source: Illuminate\Http\Request
properties:
- name: auth
  visibility: protected
  comment: '# * The authentication factory instance.

    # *

    # * @var \Illuminate\Contracts\Auth\Factory'
- name: redirectToCallback
  visibility: protected
  comment: '# * The callback that should be used to generate the authentication redirect
    path.

    # *

    # * @var callable'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: auth
  comment: "# * The authentication factory instance.\n# *\n# * @var \\Illuminate\\\
    Contracts\\Auth\\Factory\n# */\n# protected $auth;\n# \n# /**\n# * The callback\
    \ that should be used to generate the authentication redirect path.\n# *\n# *\
    \ @var callable\n# */\n# protected static $redirectToCallback;\n# \n# /**\n# *\
    \ Create a new middleware instance.\n# *\n# * @param  \\Illuminate\\Contracts\\\
    Auth\\Factory  $auth\n# * @return void"
- name: using
  visibility: public
  parameters:
  - name: guard
  - name: '...$others'
  comment: '# * Specify the guards for the middleware.

    # *

    # * @param  string  $guard

    # * @param  string  $others

    # * @return string'
- name: handle
  visibility: public
  parameters:
  - name: request
  - name: next
  - name: '...$guards'
  comment: '# * Handle an incoming request.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  \Closure  $next

    # * @param  string[]  ...$guards

    # * @return mixed

    # *

    # * @throws \Illuminate\Auth\AuthenticationException'
- name: authenticate
  visibility: protected
  parameters:
  - name: request
  - name: guards
  comment: '# * Determine if the user is logged in to any of the given guards.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  array  $guards

    # * @return void

    # *

    # * @throws \Illuminate\Auth\AuthenticationException'
- name: unauthenticated
  visibility: protected
  parameters:
  - name: request
  - name: guards
  comment: '# * Handle an unauthenticated user.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  array  $guards

    # * @return void

    # *

    # * @throws \Illuminate\Auth\AuthenticationException'
- name: redirectTo
  visibility: protected
  parameters:
  - name: request
  comment: '# * Get the path the user should be redirected to when they are not authenticated.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @return string|null'
- name: redirectUsing
  visibility: public
  parameters:
  - name: redirectToCallback
  comment: '# * Specify the callback that should be used to generate the redirect
    path.

    # *

    # * @param  callable  $redirectToCallback

    # * @return void'
traits:
- Closure
- Illuminate\Auth\AuthenticationException
- Illuminate\Contracts\Auth\Middleware\AuthenticatesRequests
- Illuminate\Http\Request
interfaces:
- AuthenticatesRequests