MediaWiki
master
|
Helper class for the password reset functionality shared by the web UI and the API. More...
Public Member Functions | |
__construct (ServiceOptions $config, LoggerInterface $logger, AuthManager $authManager, HookContainer $hookContainer, ILoadBalancer $loadBalancer, UserFactory $userFactory, UserNameUtils $userNameUtils, UserOptionsLookup $userOptionsLookup) | |
This class is managed by MediaWikiServices, don't instantiate directly. More... | |
execute (User $performingUser, $username=null, $email=null) | |
Do a password reset. More... | |
isAllowed (User $user) | |
Check if a given user has permission to use this functionality. More... | |
Public Attributes | |
const | CONSTRUCTOR_OPTIONS |
Protected Member Functions | |
getUsersByEmail ( $email) | |
Private Member Functions | |
computeIsAllowed (User $user) | |
isBlocked (User $user) | |
Check whether the user is blocked. More... | |
Private Attributes | |
AuthManager | $authManager |
ServiceOptions | $config |
HookRunner | $hookRunner |
ILoadBalancer | $loadBalancer |
MapCacheLRU | $permissionCache |
In-process cache for isAllowed lookups, by username. More... | |
UserFactory | $userFactory |
UserNameUtils | $userNameUtils |
UserOptionsLookup | $userOptionsLookup |
Helper class for the password reset functionality shared by the web UI and the API.
Requires the TemporaryPasswordPrimaryAuthenticationProvider and the EmailNotificationSecondaryAuthenticationProvider (or something providing equivalent functionality) to be enabled.
Definition at line 44 of file PasswordReset.php.
PasswordReset::__construct | ( | ServiceOptions | $config, |
LoggerInterface | $logger, | ||
AuthManager | $authManager, | ||
HookContainer | $hookContainer, | ||
ILoadBalancer | $loadBalancer, | ||
UserFactory | $userFactory, | ||
UserNameUtils | $userNameUtils, | ||
UserOptionsLookup | $userOptionsLookup | ||
) |
This class is managed by MediaWikiServices, don't instantiate directly.
ServiceOptions | $config | |
LoggerInterface | $logger | |
AuthManager | $authManager | |
HookContainer | $hookContainer | |
ILoadBalancer | $loadBalancer | |
UserFactory | $userFactory | |
UserNameUtils | $userNameUtils | |
UserOptionsLookup | $userOptionsLookup |
Definition at line 96 of file PasswordReset.php.
References $authManager, $config, $loadBalancer, $userFactory, $userNameUtils, $userOptionsLookup, and MediaWiki\Config\ServiceOptions\assertRequiredOptions().
|
private |
User | $user |
Definition at line 140 of file PasswordReset.php.
Referenced by isAllowed().
PasswordReset::execute | ( | User | $performingUser, |
$username = null , |
|||
$email = null |
|||
) |
Do a password reset.
Authorization is the caller's responsibility.
Process the form. At this point we know that the user passes all the criteria in userCanExecute(), and if the data array contains 'Username', etc, then Username resets are allowed.
User | $performingUser | The user that does the password reset |
string | null | $username | The user whose password is reset |
string | null | Alternative way to specify the user |
LogicException | When the user is not allowed to perform the action |
MWException | On unexpected DB errors |
Definition at line 185 of file PasswordReset.php.
References $userOptionsLookup, DeferredUpdates\addUpdate(), User\getId(), User\getName(), User\getRequest(), StatusValue\newFatal(), Message\newFromSpecifier(), StatusValue\newGood(), User\pingLimiter(), and Sanitizer\validateEmail().
|
protected |
string |
MWException | On unexpected database errors |
Definition at line 372 of file PasswordReset.php.
References $res, DB_REPLICA, and User\getQueryInfo().
PasswordReset::isAllowed | ( | User | $user | ) |
Check if a given user has permission to use this functionality.
User | $user |
Definition at line 127 of file PasswordReset.php.
References computeIsAllowed(), and User\getName().
|
private |
Check whether the user is blocked.
Ignores certain types of system blocks that are only meant to force users to log in.
User | $user |
Definition at line 357 of file PasswordReset.php.
References User\getBlock(), and User\getGlobalBlock().
|
private |
Definition at line 51 of file PasswordReset.php.
Referenced by __construct().
|
private |
Definition at line 48 of file PasswordReset.php.
Referenced by __construct().
|
private |
Definition at line 54 of file PasswordReset.php.
|
private |
Definition at line 57 of file PasswordReset.php.
Referenced by __construct().
|
private |
In-process cache for isAllowed lookups, by username.
Contains a StatusValue object
Definition at line 73 of file PasswordReset.php.
|
private |
Definition at line 60 of file PasswordReset.php.
Referenced by __construct().
|
private |
Definition at line 63 of file PasswordReset.php.
Referenced by __construct().
|
private |
Definition at line 66 of file PasswordReset.php.
Referenced by __construct().
const PasswordReset::CONSTRUCTOR_OPTIONS |
Definition at line 78 of file PasswordReset.php.