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, PermissionManager $permissionManager, 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 | |
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... | |
PermissionManager | $permissionManager |
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, | ||
PermissionManager | $permissionManager, | ||
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 | |
PermissionManager | $permissionManager | |
UserFactory | $userFactory | |
UserNameUtils | $userNameUtils | |
UserOptionsLookup | $userOptionsLookup |
Definition at line 100 of file PasswordReset.php.
References $authManager, $config, $loadBalancer, $permissionManager, $userFactory, $userNameUtils, $userOptionsLookup, and MediaWiki\Config\ServiceOptions\assertRequiredOptions().
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 184 of file PasswordReset.php.
References $userOptionsLookup, DeferredUpdates\addUpdate(), User\getId(), User\getName(), User\getRequest(), getUsersByEmail(), isAllowed(), StatusValue\newFatal(), Message\newFromSpecifier(), StatusValue\newGood(), User\pingLimiter(), and Sanitizer\validateEmail().
|
protected |
string |
MWException | On unexpected database errors |
Definition at line 371 of file PasswordReset.php.
References $res, DB_REPLICA, and User\getQueryInfo().
Referenced by execute().
PasswordReset::isAllowed | ( | User | $user | ) |
Check if a given user has permission to use this functionality.
User | $user |
Definition at line 133 of file PasswordReset.php.
References User\getName(), isBlocked(), StatusValue\newFatal(), and StatusValue\newGood().
Referenced by execute().
|
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 356 of file PasswordReset.php.
References User\getBlock(), and User\getGlobalBlock().
Referenced by isAllowed().
|
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 76 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().
|
private |
Definition at line 69 of file PasswordReset.php.
Referenced by __construct(), and execute().
const PasswordReset::CONSTRUCTOR_OPTIONS |
Definition at line 81 of file PasswordReset.php.