MediaWiki
1.33.0
|
The CentralIdLookup service allows for connecting local users with cluster-wide IDs. More...
Public Member Functions | |
centralIdFromLocalUser (User $user, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given a local User object, return the central ID. More... | |
centralIdFromName ( $name, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given a (local) user name, return the central ID. More... | |
centralIdsFromNames (array $names, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given an array of (local) user names, return the central IDs. More... | |
getProviderId () | |
isAttached (User $user, $wikiId=null) | |
Check that a User is attached on the specified wiki. More... | |
localUserFromCentralId ( $id, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given a central user ID, return a local User object. More... | |
lookupCentralIds (array $idToName, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given central user IDs, return the (local) user names. More... | |
lookupUserNames (array $nameToId, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given (local) user names, return the central IDs. More... | |
nameFromCentralId ( $id, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given a central user ID, return the (local) user name. More... | |
namesFromCentralIds (array $ids, $audience=self::AUDIENCE_PUBLIC, $flags=self::READ_NORMAL) | |
Given a an array of central user IDs, return the (local) user names. More... | |
Static Public Member Functions | |
static | factory ( $providerId=null) |
Fetch a CentralIdLookup. More... | |
static | resetCache () |
Reset internal cache for unit testing. More... | |
Public Attributes | |
const | AUDIENCE_PUBLIC = 1 |
const | AUDIENCE_RAW = 2 |
Public Attributes inherited from IDBAccessObject | |
const | READ_LOCKING = self::READ_LATEST | 2 |
Constants for object loading bitfield flags (higher => higher QoS) More... | |
const | READ_NONE = -1 |
Protected Member Functions | |
checkAudience ( $audience) | |
Check that the "audience" parameter is valid. More... | |
Private Attributes | |
string | $providerId |
Static Private Attributes | |
static CentralIdLookup[] | $instances = [] |
The CentralIdLookup service allows for connecting local users with cluster-wide IDs.
Definition at line 30 of file CentralIdLookup.php.
CentralIdLookup::centralIdFromLocalUser | ( | User | $user, |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given a local User object, return the central ID.
User | $user | Local user |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 256 of file CentralIdLookup.php.
References centralIdFromName(), User\getName(), and isAttached().
CentralIdLookup::centralIdFromName | ( | $name, | |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given a (local) user name, return the central ID.
string | $name | Canonicalized user name |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 193 of file CentralIdLookup.php.
References $name, and lookupUserNames().
Referenced by centralIdFromLocalUser().
CentralIdLookup::centralIdsFromNames | ( | array | $names, |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given an array of (local) user names, return the central IDs.
string[] | $names | Canonicalized user names |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 208 of file CentralIdLookup.php.
References lookupUserNames().
|
protected |
Check that the "audience" parameter is valid.
int | User | $audience | One of the audience constants, or a specific user |
InvalidArgumentException |
Definition at line 89 of file CentralIdLookup.php.
References User.
Referenced by LocalIdLookup\lookupCentralIds(), and LocalIdLookup\lookupUserNames().
|
static |
Fetch a CentralIdLookup.
string | null | $providerId | Provider ID from $wgCentralIdLookupProviders |
Definition at line 46 of file CentralIdLookup.php.
References $providerId, $wgCentralIdLookupProvider, and $wgCentralIdLookupProviders.
Referenced by MediaWiki\Session\BotPasswordSessionProviderTest\addDBDataOnce(), SpecialBotPasswords\checkExecutePermissions(), OATHUserRepository\findByUser(), ApiQueryUserInfo\getCentralUserInfo(), MediaWiki\Preferences\MultiUsernameFilter\getLookup(), BotPassword\invalidateAllPasswordsForUser(), BotPassword\newFromUser(), BotPassword\newUnsaved(), OATHUserRepository\persist(), OATHUserRepository\remove(), BotPassword\removeAllPasswordsForUser(), ApiLoginTest\setUpForBotPassword(), CentralIdLookupTest\testFactory(), SpecialEmailUser\validateTarget(), and OATHAuthKey\verifyToken().
|
final |
Definition at line 79 of file CentralIdLookup.php.
References $providerId.
Check that a User is attached on the specified wiki.
If unattached local accounts don't exist in your extension, this comes down to a check whether the central account exists at all and that $wikiId is using the same central database.
User | $user | |
string | null | $wikiId | Wiki to check attachment status. If null, check the current wiki. |
Reimplemented in LocalIdLookup.
Referenced by centralIdFromLocalUser(), and localUserFromCentralId().
CentralIdLookup::localUserFromCentralId | ( | $id, | |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given a central user ID, return a local User object.
int | $id | Central user ID |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 232 of file CentralIdLookup.php.
References $name, $user, isAttached(), nameFromCentralId(), and User\newFromName().
|
abstract |
Given central user IDs, return the (local) user names.
array | $idToName | Array with keys being central user IDs |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Reimplemented in LocalIdLookup.
Referenced by nameFromCentralId(), and namesFromCentralIds().
|
abstract |
Given (local) user names, return the central IDs.
array | $nameToId | Array with keys being canonicalized user names |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Reimplemented in LocalIdLookup.
Referenced by centralIdFromName(), and centralIdsFromNames().
CentralIdLookup::nameFromCentralId | ( | $id, | |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given a central user ID, return the (local) user name.
int | $id | Central user ID |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 155 of file CentralIdLookup.php.
References lookupCentralIds().
Referenced by localUserFromCentralId().
CentralIdLookup::namesFromCentralIds | ( | array | $ids, |
$audience = self::AUDIENCE_PUBLIC , |
|||
$flags = self::READ_NORMAL |
|||
) |
Given a an array of central user IDs, return the (local) user names.
int[] | $ids | Central user IDs |
int | User | $audience | One of the audience constants, or a specific user |
int | $flags | IDBAccessObject read flags |
Definition at line 170 of file CentralIdLookup.php.
References $name, and lookupCentralIds().
|
static |
Reset internal cache for unit testing.
Definition at line 72 of file CentralIdLookup.php.
Referenced by BotPasswordTest\setUp().
|
staticprivate |
Definition at line 36 of file CentralIdLookup.php.
|
private |
Definition at line 39 of file CentralIdLookup.php.
Referenced by factory(), and getProviderId().
const CentralIdLookup::AUDIENCE_PUBLIC = 1 |
Definition at line 32 of file CentralIdLookup.php.
Referenced by CentralIdLookupTest\testCheckAudience().
const CentralIdLookup::AUDIENCE_RAW = 2 |
Definition at line 33 of file CentralIdLookup.php.
Referenced by BotPassword\invalidateAllPasswordsForUser(), BotPassword\newFromUser(), BotPassword\newUnsaved(), BotPassword\removeAllPasswordsForUser(), CentralIdLookupTest\testCentralIdFromLocalUser(), CentralIdLookupTest\testCentralIdFromName(), CentralIdLookupTest\testCheckAudience(), CentralIdLookupTest\testLocalUserFromCentralId(), LocalIdLookupTest\testLookupCentralIds(), LocalIdLookupTest\testLookupUserNames(), and CentralIdLookupTest\testNameFromCentralId().