Session¶
-
class
OC\User\
Session
¶ - Class SessionHooks available in scope \OC\User:- preSetPassword(\OC\User\User $user, string $password, string $recoverPassword)- postSetPassword(\OC\User\User $user, string $password, string $recoverPassword)- preDelete(\OC\User\User $user)- postDelete(\OC\User\User $user)- preCreateUser(string $uid, string $password)- postCreateUser(\OC\User\User $user)- assignedUserId(string $uid)- preUnassignedUserId(string $uid)- postUnassignedUserId(string $uid)- preLogin(string $user, string $password)- postLogin(\OC\User\User $user, string $loginName, string $password, boolean $isTokenLogin)- preRememberedLogin(string $uid)- postRememberedLogin(\OC\User\User $user)- logout()- postLogout()
Source: lib/private/User/Session.php#92 Implements: OCP\IUserSession
OC\Hooks\Emitter
Properties¶
-
protected static property
OC\User\Session::$
activeUser
¶ Source: lib/private/User/Session.php#110 Type: \OC\User\User
Methods¶
-
public
OC\User\Session::
__construct
($manager, $session, $timeFactory, $tokenProvider, $config, $random, $lockdownManager, $logger, $dispatcher)¶ Source: Parameters: - $manager (
OC\User\Manager
) - $session (
OCP\ISession
) - $timeFactory (
OCP\AppFramework\Utility\ITimeFactory
) - $tokenProvider (
OC\Authentication\Token\IProvider
) - $config (
OCP\IConfig
) - $random (
OCP\Security\ISecureRandom
) - $lockdownManager (
OCP\Lockdown\ILockdownManager
) - $logger (
OCP\ILogger
)
- $manager (
-
public
OC\User\Session::
setTokenProvider
($provider)¶ Source: Parameters: - $provider (
OC\Authentication\Token\IProvider
)
- $provider (
-
public
OC\User\Session::
listen
($scope, $method, $callback)¶ Source: Parameters: - $scope (string)
- $method (string)
- $callback (callable)
-
public
OC\User\Session::
removeListener
($scope=null, $method=null, $callback=null)¶ Source: Parameters: - $scope (string) optional
- $method (string) optional
- $callback (callable) optional
-
public
OC\User\Session::
getManager
()¶ - get the manager object
Source: lib/private/User/Session.php#184 Returns: \OC\User\Manager
|\OC\Hooks\PublicEmitter
-
public
OC\User\Session::
getSession
()¶ - get the session object
Source: lib/private/User/Session.php#193 Returns: \OCP\ISession
-
public
OC\User\Session::
setSession
($session)¶ - set the session object
Source: Parameters: - $session (
OCP\ISession
)
- $session (
-
public
OC\User\Session::
setUser
($user)¶ - set the currently active user
Source: Parameters: - $user (
OCP\IUser
| null)
- $user (
-
public
OC\User\Session::
getUser
()¶ - get the current active user
Source: lib/private/User/Session.php#229 Returns: \OCP\IUser
| null Current user, otherwise null
-
protected
OC\User\Session::
validateSession
()¶ - Validate whether the current session is valid- For token-authenticated clients, the token validity is checked- For browsers, the session token validity is checked
Source: lib/private/User/Session.php#255
-
public
OC\User\Session::
isLoggedIn
()¶ - Checks whether the user is logged in
Source: lib/private/User/Session.php#280 Returns: bool if logged in
-
public
OC\User\Session::
setLoginName
($loginName)¶ - set the login name
Source: Parameters: - $loginName (string | null) for the logged in user
-
public
OC\User\Session::
getLoginName
()¶ - get the login name of the current user
Source: lib/private/User/Session.php#307 Returns: string
-
public
OC\User\Session::
getImpersonatingUserID
()¶ Source: lib/private/User/Session.php#324 Returns: null | string
-
public
OC\User\Session::
setImpersonatingUserID
($useCurrentUser=true)¶ Source: lib/private/User/Session.php#328
-
protected
OC\User\Session::
setToken
($token)¶ - set the token id
Source: Parameters: - $token (int | null) that was used to log in
-
public
OC\User\Session::
login
($uid, $password)¶ - try to log in with the provided credentials
Source: Parameters: - $uid (string)
- $password (string)
Returns: bool | null
Throws:
-
public
OC\User\Session::
completeLogin
($user, $loginDetails, $regenerateSessionId=true)¶ Source: Parameters: - $user (
OCP\IUser
) - $loginDetails (array)
- $regenerateSessionId (bool)
Returns: bool returns true if login successful or an exception otherwise
Throws: - $user (
-
public
OC\User\Session::
logClientIn
($user, $password, $request, $throttler)¶ - Tries to log in a clientChecks token auth enforcedChecks 2FA enabled
Source: Parameters: - $user (string)
- $password (string)
- $request (
OCP\IRequest
) - $throttler (
OC\Security\Bruteforce\Throttler
)
Throws: Throws: \OC\Authentication\Exceptions\PasswordLoginForbiddenException
Throws: Throws: \OC\Authentication\Exceptions\PasswordLoginForbiddenException
Returns: bool
-
protected
OC\User\Session::
supportsCookies
($request)¶ Source: lib/private/User/Session.php#490
-
protected
OC\User\Session::
isTwoFactorEnforced
($username)¶ Source: lib/private/User/Session.php#502
-
public
OC\User\Session::
isTokenPassword
($password)¶ - Check if the given ‘password’ is actually a device token
Source: Parameters: - $password (string)
Returns: bool
Throws:
-
protected
OC\User\Session::
prepareUserLogin
($firstTimeLogin, $refreshCsrfToken=true)¶ Source: lib/private/User/Session.php#545
-
public
OC\User\Session::
tryBasicAuthLogin
($request, $throttler)¶ - Tries to login the user with HTTP Basic Authentication
Source: Parameters: - $request (
OCP\IRequest
) - $throttler (
OC\Security\Bruteforce\Throttler
)
Returns: bool if the login was successful
- $request (
-
public
OC\User\Session::
createSessionToken
($request, $uid, $loginName, $password=null, $remember=\OC\Authentication\Token\IToken::DO_NOT_REMEMBER)¶ - Create a new session token for the given user credentials
Source: Parameters: - $request (
OCP\IRequest
) - $uid (string) user UID
- $loginName (string) login name
- $password (string)
- $remember (int)
Returns: bool
- $request (
-
public
OC\User\Session::
tryTokenLogin
($request)¶ - Tries to login the user with auth token header
Source: Parameters: - $request (
OCP\IRequest
)
Returns: bool
- $request (
-
public
OC\User\Session::
loginWithCookie
($uid, $currentToken, $oldSessionId)¶ - perform login using the magic cookie (remember login)
Source: Parameters: - $uid (string) the username
- $currentToken (string)
- $oldSessionId (string)
Returns: bool
-
public
OC\User\Session::
logout
()¶ - logout the user from the session
Source: lib/private/User/Session.php#921
-
public
OC\User\Session::
setMagicInCookie
($username, $token)¶ - Set cookie value to use in next page load
Source: Parameters: - $username (string) username to be set
- $token (string)
-
public
OC\User\Session::
unsetMagicInCookie
()¶ - Remove cookie for “remember username”
Source: lib/private/User/Session.php#991
-
public
OC\User\Session::
updateSessionTokenPassword
($password)¶ - Update password of the browser session token if there is one
Source: Parameters: - $password (string)
-
public
OC\User\Session::
updateTokens
($uid, $password)¶ Source: lib/private/User/Session.php#1025