MediaWiki  master
TemporaryPasswordAuthenticationRequest.php
Go to the documentation of this file.
1 <?php
22 namespace 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 
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 }
Config $config
Definition: MediaWiki.php:39
static getInstance()
Returns the global default instance of the top level service locator.
get( $name)
Get a configuration variable such as "Sitename" or "UploadMaintenance.".
static newInvalid()
Return an instance with an invalid password.
static generateRandomPasswordString(int $minLength=10)
Generate a random string suitable for a password.
This represents the intention to set a temporary password for the user.
static newRandom()
Return an instance with a new, random password.
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
This is a value object for authentication requests.