MediaWiki
1.34.4
|
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 | factoryNonLocal () |
Returns a CentralIdLookup that is guaranteed to be non-local. More... | |
static | resetCache () |
Reset internal cache for unit testing. More... | |
Public Attributes | |
const | AUDIENCE_PUBLIC = 1 |
const | AUDIENCE_RAW = 2 |
![]() | |
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 286 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 223 of file CentralIdLookup.php.
References 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 238 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 119 of file CentralIdLookup.php.
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 SpecialMute\__construct(), SpecialBotPasswords\checkExecutePermissions(), factoryNonLocal(), MediaWiki\Extension\OATHAuth\OATHUserRepository\findByUser(), ApiQueryUserInfo\getCentralUserInfo(), MediaWiki\Preferences\MultiUsernameFilter\getLookup(), BotPassword\invalidateAllPasswordsForUser(), BotPassword\newFromUser(), BotPassword\newUnsaved(), MediaWiki\Extension\OATHAuth\OATHUserRepository\persist(), MediaWiki\Extension\OATHAuth\OATHUserRepository\remove(), BotPassword\removeAllPasswordsForUser(), SpecialEmailUser\validateTarget(), and MediaWiki\Extension\OATHAuth\Key\TOTPKey\verify().
|
static |
Returns a CentralIdLookup that is guaranteed to be non-local.
If no such guarantee can be made, returns null.
If this function returns a non-null CentralIdLookup, that lookup is expected to provide IDs that are shared with some set of other wikis. However, you should still be cautious when using those IDs, as they will not necessarily work with all other wikis, and it can be hard to tell if another wiki is in the same set as this one or not.
Definition at line 82 of file CentralIdLookup.php.
References factory().
Referenced by User\pingLimiter().
|
final |
Definition at line 109 of file CentralIdLookup.php.
References $providerId.
|
abstract |
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().
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 262 of file CentralIdLookup.php.
References 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 185 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 200 of file CentralIdLookup.php.
References lookupCentralIds().
|
static |
Reset internal cache for unit testing.
Definition at line 102 of file CentralIdLookup.php.
|
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.
const CentralIdLookup::AUDIENCE_RAW = 2 |
Definition at line 33 of file CentralIdLookup.php.
Referenced by BotPassword\invalidateAllPasswordsForUser(), BotPassword\newFromUser(), BotPassword\newUnsaved(), User\pingLimiter(), and BotPassword\removeAllPasswordsForUser().