MediaWiki REL1_34
TemporaryPasswordAuthenticationRequest.php
Go to the documentation of this file.
1<?php
22namespace MediaWiki\Auth;
23
25
33 public $password;
34
36 public $mailpassword = false;
37
39 public $caller;
40
41 public function getFieldInfo() {
42 return [
43 'mailpassword' => [
44 'type' => 'checkbox',
45 'label' => wfMessage( 'createaccountmail' ),
46 'help' => wfMessage( 'createaccountmail-help' ),
47 ],
48 ];
49 }
50
54 public function __construct( $password = null ) {
55 $this->password = $password;
56 if ( $password ) {
57 $this->mailpassword = true;
58 }
59 }
60
65 public static function newRandom() {
66 $config = MediaWikiServices::getInstance()->getMainConfig();
67
68 // get the min password length
69 $minLength = $config->get( 'MinimalPasswordLength' );
70 $policy = $config->get( 'PasswordPolicy' );
71 foreach ( $policy['policies'] as $p ) {
72 foreach ( [ 'MinimalPasswordLength', 'MinimumPasswordLengthToLogin' ] as $check ) {
73 $minLength = max( $minLength, $p[$check]['value'] ?? $p[$check] ?? 0 );
74 }
75 }
76
77 $password = \PasswordFactory::generateRandomPasswordString( $minLength );
78
79 return new self( $password );
80 }
81
86 public static function newInvalid() {
87 $request = new self( null );
88 return $request;
89 }
90
91 public function describeCredentials() {
92 return [
93 'provider' => wfMessage( 'authmanager-provider-temporarypassword' ),
94 'account' => new \RawMessage( '$1', [ $this->username ] ),
95 ] + parent::describeCredentials();
96 }
97
98}
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
This is a value object for authentication requests.
This represents the intention to set a temporary password for the user.
static newRandom()
Return an instance with a new, random password.
describeCredentials()
Describe the credentials represented by this request.
static newInvalid()
Return an instance with an invalid password.
MediaWikiServices is the service locator for the application scope of MediaWiki.
static getInstance()
Returns the global default instance of the top level service locator.