MediaWiki master
MediaWiki\Session\UserInfo Class Reference

Immutable object holding data about a session's user, used within SessionInfo. More...

Inherits Stringable.

Collaboration diagram for MediaWiki\Session\UserInfo:

Public Member Functions

 __toString ()
 
 getId ()
 Return the user ID.
 
 getName ()
 Return the user name.
 
 getToken ()
 Return the user token.
 
 getUser ()
 Return a User object.
 
 isAnon ()
 Return whether this is an anonymous user.
 
 isVerified ()
 Return whether this represents a verified user.
 
 verified ()
 Return a verified version of this object.
 

Static Public Member Functions

static newAnonymous ()
 Create an instance for an anonymous (i.e.
 
static newFromId ( $id, $verified=false)
 Create an instance for a logged-in user by ID.
 
static newFromName ( $name, $verified=false)
 Create an instance for a logged-in user by name.
 
static newFromUser (User $user, $verified=false)
 Create an instance from an existing User object.
 

Detailed Description

Immutable object holding data about a session's user, used within SessionInfo.

In general, this class exists for two purposes:

  • User doesn't distinguish between "anonymous user" and "non-anonymous user that doesn't exist locally", while we do need to.
  • We also need the "verified" property described below; tracking it via another data item to SessionInfo's constructor makes things much more confusing.

A UserInfo may be "verified". This indicates that the creator knows that the request really comes from that user, whether that's by validating OAuth credentials, SSL client certificates, or by having both the user ID and token available from cookies.

An "unverified" UserInfo should be used when it's not possible to authenticate the user without a session store lookup, e.g. the user ID cookie is set but the user Token cookie isn't.

If the information in the request is contradictory (e.g. the token is available but doesn't match), return a SessionInfo with no UserInfo instead.

Since
1.27

Definition at line 40 of file UserInfo.php.

Member Function Documentation

◆ __toString()

MediaWiki\Session\UserInfo::__toString ( )

◆ getId()

MediaWiki\Session\UserInfo::getId ( )

Return the user ID.

Note
Do not use this to test for anonymous users! A user can have valid session credentials without having a local user account (the user account will be autocreated, but UserInfo is needed before that).
Returns
int

Definition at line 139 of file UserInfo.php.

Referenced by MediaWiki\Session\UserInfo\__toString().

◆ getName()

MediaWiki\Session\UserInfo::getName ( )

Return the user name.

Returns
string|null

Definition at line 147 of file UserInfo.php.

Referenced by MediaWiki\Session\UserInfo\__toString().

◆ getToken()

MediaWiki\Session\UserInfo::getToken ( )

Return the user token.

Returns
string
See also
User::getToken()

Definition at line 156 of file UserInfo.php.

◆ getUser()

MediaWiki\Session\UserInfo::getUser ( )

Return a User object.

Returns
User

Definition at line 164 of file UserInfo.php.

References MediaWiki\MediaWikiServices\getInstance().

◆ isAnon()

MediaWiki\Session\UserInfo::isAnon ( )

Return whether this is an anonymous user.

Returns
bool

Definition at line 118 of file UserInfo.php.

◆ isVerified()

MediaWiki\Session\UserInfo::isVerified ( )

Return whether this represents a verified user.

Unverified means this UserInfo is based on some information that's easy to forge (such as a username cookie) and will be verified in a later step.

Returns
bool

Definition at line 128 of file UserInfo.php.

◆ newAnonymous()

static MediaWiki\Session\UserInfo::newAnonymous ( )
static

Create an instance for an anonymous (i.e.

not logged in) user

Logged-out users are always "verified".

Returns
UserInfo

Definition at line 65 of file UserInfo.php.

Referenced by MediaWiki\Session\CookieSessionProvider\provideSessionInfo().

◆ newFromId()

static MediaWiki\Session\UserInfo::newFromId ( $id,
$verified = false )
static

Create an instance for a logged-in user by ID.

Parameters
int$idUser ID
bool$verifiedTrue if the user is verified
Returns
UserInfo

Definition at line 75 of file UserInfo.php.

References MediaWiki\MediaWikiServices\getInstance(), MediaWiki\User\User\isAnon(), MediaWiki\User\User\load(), and MediaWiki\User\User\newFromId().

Referenced by MediaWiki\Session\CookieSessionProvider\provideSessionInfo().

◆ newFromName()

static MediaWiki\Session\UserInfo::newFromName ( $name,
$verified = false )
static

Create an instance for a logged-in user by name.

Parameters
string$nameUser name (need not exist locally)
bool$verifiedTrue if the user is verified
Returns
UserInfo

Definition at line 93 of file UserInfo.php.

References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\User\User\newFromName().

◆ newFromUser()

static MediaWiki\Session\UserInfo::newFromUser ( User $user,
$verified = false )
static

Create an instance from an existing User object.

Parameters
User$user(need not exist locally)
bool$verifiedTrue if the user is verified
Returns
UserInfo

Definition at line 110 of file UserInfo.php.

Referenced by MediaWiki\Session\BotPasswordSessionProvider\newSessionForRequest().

◆ verified()

MediaWiki\Session\UserInfo::verified ( )

Return a verified version of this object.

Returns
UserInfo

Definition at line 172 of file UserInfo.php.

References MediaWiki\Session\UserInfo\verified().

Referenced by MediaWiki\Session\UserInfo\__toString(), and MediaWiki\Session\UserInfo\verified().


The documentation for this class was generated from the following file: