name: SessionGuard class_comment: null dependencies: - name: Attempting type: class source: Illuminate\Auth\Events\Attempting - name: Authenticated type: class source: Illuminate\Auth\Events\Authenticated - name: CurrentDeviceLogout type: class source: Illuminate\Auth\Events\CurrentDeviceLogout - name: Failed type: class source: Illuminate\Auth\Events\Failed - name: Login type: class source: Illuminate\Auth\Events\Login - name: Logout type: class source: Illuminate\Auth\Events\Logout - name: OtherDeviceLogout type: class source: Illuminate\Auth\Events\OtherDeviceLogout - name: Validated type: class source: Illuminate\Auth\Events\Validated - name: AuthenticatableContract type: class source: Illuminate\Contracts\Auth\Authenticatable - name: StatefulGuard type: class source: Illuminate\Contracts\Auth\StatefulGuard - name: SupportsBasicAuth type: class source: Illuminate\Contracts\Auth\SupportsBasicAuth - name: UserProvider type: class source: Illuminate\Contracts\Auth\UserProvider - name: CookieJar type: class source: Illuminate\Contracts\Cookie\QueueingFactory - name: Dispatcher type: class source: Illuminate\Contracts\Events\Dispatcher - name: Session type: class source: Illuminate\Contracts\Session\Session - name: Arr type: class source: Illuminate\Support\Arr - name: Hash type: class source: Illuminate\Support\Facades\Hash - name: Str type: class source: Illuminate\Support\Str - name: Timebox type: class source: Illuminate\Support\Timebox - name: Macroable type: class source: Illuminate\Support\Traits\Macroable - name: InvalidArgumentException type: class source: InvalidArgumentException - name: RuntimeException type: class source: RuntimeException - name: Request type: class source: Symfony\Component\HttpFoundation\Request - name: UnauthorizedHttpException type: class source: Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException properties: - name: lastAttempted visibility: protected comment: "# * The name of the guard. Typically \"web\".\n# *\n# * Corresponds to\ \ guard name in authentication configuration.\n# *\n# * @var string\n# */\n# public\ \ readonly string $name;\n# \n# /**\n# * The user we last attempted to retrieve.\n\ # *\n# * @var \\Illuminate\\Contracts\\Auth\\Authenticatable" - name: viaRemember visibility: protected comment: '# * Indicates if the user was authenticated via a recaller cookie. # * # * @var bool' - name: rememberDuration visibility: protected comment: '# * The number of minutes that the "remember me" cookie should be valid for. # * # * @var int' - name: session visibility: protected comment: '# * The session used by the guard. # * # * @var \Illuminate\Contracts\Session\Session' - name: cookie visibility: protected comment: '# * The Illuminate cookie creator service. # * # * @var \Illuminate\Contracts\Cookie\QueueingFactory' - name: request visibility: protected comment: '# * The request instance. # * # * @var \Symfony\Component\HttpFoundation\Request' - name: events visibility: protected comment: '# * The event dispatcher instance. # * # * @var \Illuminate\Contracts\Events\Dispatcher' - name: timebox visibility: protected comment: '# * The timebox instance. # * # * @var \Illuminate\Support\Timebox' - name: rehashOnLogin visibility: protected comment: '# * Indicates if passwords should be rehashed on login if needed. # * # * @var bool' - name: loggedOut visibility: protected comment: '# * Indicates if the logout method has been called. # * # * @var bool' - name: recallAttempted visibility: protected comment: '# * Indicates if a token user retrieval has been attempted. # * # * @var bool' methods: - name: __construct visibility: public parameters: - name: name - name: provider - name: session - name: request default: 'null' - name: timebox default: 'null' - name: rehashOnLogin default: 'true' comment: "# * The name of the guard. Typically \"web\".\n# *\n# * Corresponds to\ \ guard name in authentication configuration.\n# *\n# * @var string\n# */\n# public\ \ readonly string $name;\n# \n# /**\n# * The user we last attempted to retrieve.\n\ # *\n# * @var \\Illuminate\\Contracts\\Auth\\Authenticatable\n# */\n# protected\ \ $lastAttempted;\n# \n# /**\n# * Indicates if the user was authenticated via\ \ a recaller cookie.\n# *\n# * @var bool\n# */\n# protected $viaRemember = false;\n\ # \n# /**\n# * The number of minutes that the \"remember me\" cookie should be\ \ valid for.\n# *\n# * @var int\n# */\n# protected $rememberDuration = 576000;\n\ # \n# /**\n# * The session used by the guard.\n# *\n# * @var \\Illuminate\\Contracts\\\ Session\\Session\n# */\n# protected $session;\n# \n# /**\n# * The Illuminate cookie\ \ creator service.\n# *\n# * @var \\Illuminate\\Contracts\\Cookie\\QueueingFactory\n\ # */\n# protected $cookie;\n# \n# /**\n# * The request instance.\n# *\n# * @var\ \ \\Symfony\\Component\\HttpFoundation\\Request\n# */\n# protected $request;\n\ # \n# /**\n# * The event dispatcher instance.\n# *\n# * @var \\Illuminate\\Contracts\\\ Events\\Dispatcher\n# */\n# protected $events;\n# \n# /**\n# * The timebox instance.\n\ # *\n# * @var \\Illuminate\\Support\\Timebox\n# */\n# protected $timebox;\n# \n\ # /**\n# * Indicates if passwords should be rehashed on login if needed.\n# *\n\ # * @var bool\n# */\n# protected $rehashOnLogin;\n# \n# /**\n# * Indicates if\ \ the logout method has been called.\n# *\n# * @var bool\n# */\n# protected $loggedOut\ \ = false;\n# \n# /**\n# * Indicates if a token user retrieval has been attempted.\n\ # *\n# * @var bool\n# */\n# protected $recallAttempted = false;\n# \n# /**\n#\ \ * Create a new authentication guard.\n# *\n# * @param string $name\n# * @param\ \ \\Illuminate\\Contracts\\Auth\\UserProvider $provider\n# * @param \\Illuminate\\\ Contracts\\Session\\Session $session\n# * @param \\Symfony\\Component\\HttpFoundation\\\ Request|null $request\n# * @param \\Illuminate\\Support\\Timebox|null $timebox\n\ # * @param bool $rehashOnLogin\n# * @return void" - name: user visibility: public parameters: [] comment: '# * Get the currently authenticated user. # * # * @return \Illuminate\Contracts\Auth\Authenticatable|null' - name: userFromRecaller visibility: protected parameters: - name: recaller comment: '# * Pull a user from the repository by its "remember me" cookie token. # * # * @param \Illuminate\Auth\Recaller $recaller # * @return mixed' - name: recaller visibility: protected parameters: [] comment: '# * Get the decrypted recaller cookie for the request. # * # * @return \Illuminate\Auth\Recaller|null' - name: id visibility: public parameters: [] comment: '# * Get the ID for the currently authenticated user. # * # * @return int|string|null' - name: once visibility: public parameters: - name: credentials default: '[]' comment: '# * Log a user into the application without sessions or cookies. # * # * @param array $credentials # * @return bool' - name: onceUsingId visibility: public parameters: - name: id comment: '# * Log the given user ID into the application without sessions or cookies. # * # * @param mixed $id # * @return \Illuminate\Contracts\Auth\Authenticatable|false' - name: validate visibility: public parameters: - name: credentials default: '[]' comment: '# * Validate a user''s credentials. # * # * @param array $credentials # * @return bool' - name: basic visibility: public parameters: - name: field default: '''email''' - name: extraConditions default: '[]' comment: '# * Attempt to authenticate using HTTP Basic Auth. # * # * @param string $field # * @param array $extraConditions # * @return \Symfony\Component\HttpFoundation\Response|null # * # * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException' - name: onceBasic visibility: public parameters: - name: field default: '''email''' - name: extraConditions default: '[]' comment: '# * Perform a stateless HTTP Basic login attempt. # * # * @param string $field # * @param array $extraConditions # * @return \Symfony\Component\HttpFoundation\Response|null # * # * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException' - name: attemptBasic visibility: protected parameters: - name: request - name: field - name: extraConditions default: '[]' comment: '# * Attempt to authenticate using basic authentication. # * # * @param \Symfony\Component\HttpFoundation\Request $request # * @param string $field # * @param array $extraConditions # * @return bool' - name: basicCredentials visibility: protected parameters: - name: request - name: field comment: '# * Get the credential array for an HTTP Basic request. # * # * @param \Symfony\Component\HttpFoundation\Request $request # * @param string $field # * @return array' - name: failedBasicResponse visibility: protected parameters: [] comment: '# * Get the response for basic authentication. # * # * @return void # * # * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException' - name: attempt visibility: public parameters: - name: credentials default: '[]' - name: remember default: 'false' comment: '# * Attempt to authenticate a user using the given credentials. # * # * @param array $credentials # * @param bool $remember # * @return bool' - name: attemptWhen visibility: public parameters: - name: credentials default: '[]' - name: callbacks default: 'null' - name: remember default: 'false' comment: '# * Attempt to authenticate a user with credentials and additional callbacks. # * # * @param array $credentials # * @param array|callable|null $callbacks # * @param bool $remember # * @return bool' - name: hasValidCredentials visibility: protected parameters: - name: user - name: credentials comment: '# * Determine if the user matches the credentials. # * # * @param mixed $user # * @param array $credentials # * @return bool' - name: shouldLogin visibility: protected parameters: - name: callbacks - name: user comment: '# * Determine if the user should login by executing the given callbacks. # * # * @param array|callable|null $callbacks # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return bool' - name: rehashPasswordIfRequired visibility: protected parameters: - name: user - name: credentials comment: '# * Rehash the user''s password if enabled and required. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @param array $credentials # * @return void' - name: loginUsingId visibility: public parameters: - name: id - name: remember default: 'false' comment: '# * Log the given user ID into the application. # * # * @param mixed $id # * @param bool $remember # * @return \Illuminate\Contracts\Auth\Authenticatable|false' - name: login visibility: public parameters: - name: user - name: remember default: 'false' comment: '# * Log a user into the application. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @param bool $remember # * @return void' - name: updateSession visibility: protected parameters: - name: id comment: '# * Update the session with the given ID. # * # * @param string $id # * @return void' - name: ensureRememberTokenIsSet visibility: protected parameters: - name: user comment: '# * Create a new "remember me" token for the user if one doesn''t already exist. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: queueRecallerCookie visibility: protected parameters: - name: user comment: '# * Queue the recaller cookie into the cookie jar. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: createRecaller visibility: protected parameters: - name: value comment: '# * Create a "remember me" cookie for a given ID. # * # * @param string $value # * @return \Symfony\Component\HttpFoundation\Cookie' - name: logout visibility: public parameters: [] comment: '# * Log the user out of the application. # * # * @return void' - name: logoutCurrentDevice visibility: public parameters: [] comment: '# * Log the user out of the application on their current device only. # * # * This method does not cycle the "remember" token. # * # * @return void' - name: clearUserDataFromStorage visibility: protected parameters: [] comment: '# * Remove the user data from the session and cookies. # * # * @return void' - name: cycleRememberToken visibility: protected parameters: - name: user comment: '# * Refresh the "remember me" token for the user. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: logoutOtherDevices visibility: public parameters: - name: password comment: '# * Invalidate other sessions for the current user. # * # * The application must be using the AuthenticateSession middleware. # * # * @param string $password # * @return \Illuminate\Contracts\Auth\Authenticatable|null # * # * @throws \Illuminate\Auth\AuthenticationException' - name: rehashUserPasswordForDeviceLogout visibility: protected parameters: - name: password comment: '# * Rehash the current user''s password for logging out other devices via AuthenticateSession. # * # * @param string $password # * @return \Illuminate\Contracts\Auth\Authenticatable|null # * # * @throws \InvalidArgumentException' - name: attempting visibility: public parameters: - name: callback comment: '# * Register an authentication attempt event listener. # * # * @param mixed $callback # * @return void' - name: fireAttemptEvent visibility: protected parameters: - name: credentials - name: remember default: 'false' comment: '# * Fire the attempt event with the arguments. # * # * @param array $credentials # * @param bool $remember # * @return void' - name: fireValidatedEvent visibility: protected parameters: - name: user comment: '# * Fires the validated event if the dispatcher is set. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: fireLoginEvent visibility: protected parameters: - name: user - name: remember default: 'false' comment: '# * Fire the login event if the dispatcher is set. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @param bool $remember # * @return void' - name: fireAuthenticatedEvent visibility: protected parameters: - name: user comment: '# * Fire the authenticated event if the dispatcher is set. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: fireOtherDeviceLogoutEvent visibility: protected parameters: - name: user comment: '# * Fire the other device logout event if the dispatcher is set. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return void' - name: fireFailedEvent visibility: protected parameters: - name: user - name: credentials comment: '# * Fire the failed authentication attempt event with the given arguments. # * # * @param \Illuminate\Contracts\Auth\Authenticatable|null $user # * @param array $credentials # * @return void' - name: getLastAttempted visibility: public parameters: [] comment: '# * Get the last user we attempted to authenticate. # * # * @return \Illuminate\Contracts\Auth\Authenticatable' - name: getName visibility: public parameters: [] comment: '# * Get a unique identifier for the auth session value. # * # * @return string' - name: getRecallerName visibility: public parameters: [] comment: '# * Get the name of the cookie used to store the "recaller". # * # * @return string' - name: viaRemember visibility: public parameters: [] comment: '# * Determine if the user was authenticated via "remember me" cookie. # * # * @return bool' - name: getRememberDuration visibility: protected parameters: [] comment: '# * Get the number of minutes the remember me cookie should be valid for. # * # * @return int' - name: setRememberDuration visibility: public parameters: - name: minutes comment: '# * Set the number of minutes the remember me cookie should be valid for. # * # * @param int $minutes # * @return $this' - name: getCookieJar visibility: public parameters: [] comment: '# * Get the cookie creator instance used by the guard. # * # * @return \Illuminate\Contracts\Cookie\QueueingFactory # * # * @throws \RuntimeException' - name: setCookieJar visibility: public parameters: - name: cookie comment: '# * Set the cookie creator instance used by the guard. # * # * @param \Illuminate\Contracts\Cookie\QueueingFactory $cookie # * @return void' - name: getDispatcher visibility: public parameters: [] comment: '# * Get the event dispatcher instance. # * # * @return \Illuminate\Contracts\Events\Dispatcher' - name: setDispatcher visibility: public parameters: - name: events comment: '# * Set the event dispatcher instance. # * # * @param \Illuminate\Contracts\Events\Dispatcher $events # * @return void' - name: getSession visibility: public parameters: [] comment: '# * Get the session store used by the guard. # * # * @return \Illuminate\Contracts\Session\Session' - name: getUser visibility: public parameters: [] comment: '# * Return the currently cached user. # * # * @return \Illuminate\Contracts\Auth\Authenticatable|null' - name: setUser visibility: public parameters: - name: user comment: '# * Set the current user. # * # * @param \Illuminate\Contracts\Auth\Authenticatable $user # * @return $this' - name: getRequest visibility: public parameters: [] comment: '# * Get the current request instance. # * # * @return \Symfony\Component\HttpFoundation\Request' - name: setRequest visibility: public parameters: - name: request comment: '# * Set the current request instance. # * # * @param \Symfony\Component\HttpFoundation\Request $request # * @return $this' - name: getTimebox visibility: public parameters: [] comment: '# * Get the timebox instance used by the guard. # * # * @return \Illuminate\Support\Timebox' traits: - Illuminate\Auth\Events\Attempting - Illuminate\Auth\Events\Authenticated - Illuminate\Auth\Events\CurrentDeviceLogout - Illuminate\Auth\Events\Failed - Illuminate\Auth\Events\Login - Illuminate\Auth\Events\Logout - Illuminate\Auth\Events\OtherDeviceLogout - Illuminate\Auth\Events\Validated - Illuminate\Contracts\Auth\StatefulGuard - Illuminate\Contracts\Auth\SupportsBasicAuth - Illuminate\Contracts\Auth\UserProvider - Illuminate\Contracts\Events\Dispatcher - Illuminate\Contracts\Session\Session - Illuminate\Support\Arr - Illuminate\Support\Facades\Hash - Illuminate\Support\Str - Illuminate\Support\Timebox - Illuminate\Support\Traits\Macroable - InvalidArgumentException - RuntimeException - Symfony\Component\HttpFoundation\Request - Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException - GuardHelpers interfaces: - StatefulGuard