MediaWiki  1.28.0
PasswordFactory Class Reference

Factory class for creating and checking Password objects. More...

Collaboration diagram for PasswordFactory:

Public Member Functions

 getDefaultType ()
 Get the default password type. More...
 
 getTypes ()
 Get the list of types of passwords. More...
 
 init (Config $config)
 Initialize the internal static variables using the global variables. More...
 
 needsUpdate (Password $password)
 Determine whether a password object needs updating. More...
 
 newFromCiphertext ($hash)
 Create a new Hash object from an existing string hash. More...
 
 newFromPlaintext ($password, Password $existing=null)
 Create a new Hash object from a plaintext password. More...
 
 newFromType ($type)
 Make a new default password of the given type. More...
 
array register ($type, array $config)
 Register a new type of password hash. More...
 
 setDefaultType ($type)
 Set the default password type. More...
 

Static Public Member Functions

static generateRandomPasswordString ($minLength=10)
 Generate a random string suitable for a password. More...
 
static newInvalidPassword ()
 Create an InvalidPassword. More...
 

Private Attributes

string $default = ''
 The default PasswordHash type. More...
 
array $types
 Mapping of password types to classes. More...
 

Detailed Description

Factory class for creating and checking Password objects.

Since
1.24

Definition at line 28 of file PasswordFactory.php.

Member Function Documentation

static PasswordFactory::generateRandomPasswordString (   $minLength = 10)
static

Generate a random string suitable for a password.

Parameters
int$minLengthMinimum length of password to generate
Returns
string

Definition at line 198 of file PasswordFactory.php.

References MWCryptRand\generateHex().

Referenced by ResetUserEmail\execute(), BotPassword\generatePassword(), MediaWiki\Auth\TemporaryPasswordAuthenticationRequest\newRandom(), and User\randomPassword().

PasswordFactory::getDefaultType ( )

Get the default password type.

Returns
string

Definition at line 76 of file PasswordFactory.php.

References $default.

PasswordFactory::getTypes ( )

Get the list of types of passwords.

Returns
array

Definition at line 98 of file PasswordFactory.php.

References $types.

PasswordFactory::init ( Config  $config)

Initialize the internal static variables using the global variables.

Parameters
Config$configConfiguration object to load data from

Definition at line 85 of file PasswordFactory.php.

References $options, $type, as, Config\get(), and setDefaultType().

PasswordFactory::needsUpdate ( Password  $password)

Determine whether a password object needs updating.

Check whether the given password is of the default type. If it is, pass off further needsUpdate checks to Password::needsUpdate.

Parameters
Password$password
Returns
bool True if needs update, false otherwise

Definition at line 184 of file PasswordFactory.php.

References $default, Password\getType(), and Password\needsUpdate().

PasswordFactory::newFromCiphertext (   $hash)

Create a new Hash object from an existing string hash.

Parse the type of a hash and create a new hash object based on the parsed type. Pass the raw hash to the constructor of the new object. Use InvalidPassword type if a null hash is given.

Parameters
string | null$hashExisting hash or null for an invalid password
Returns
Password
Exceptions
PasswordErrorIf hash is invalid or type is not recognized

Definition at line 113 of file PasswordFactory.php.

References $type.

PasswordFactory::newFromPlaintext (   $password,
Password  $existing = null 
)

Create a new Hash object from a plaintext password.

If no existing object is given, make a new default object. If one is given, clone that object. Then pass the plaintext to Password::crypt().

Parameters
string | null$passwordPlaintext password, or null for an invalid password
Password | null$existingOptional existing hash to get options from
Returns
Password

Definition at line 157 of file PasswordFactory.php.

References $default.

PasswordFactory::newFromType (   $type)

Make a new default password of the given type.

Parameters
string$typeExisting type
Returns
Password
Exceptions
PasswordErrorIf hash is invalid or type is not recognized

Definition at line 137 of file PasswordFactory.php.

References $type.

array PasswordFactory::register (   $type,
array  $config 
)

Register a new type of password hash.

Parameters
string$typeUnique type name for the hash
array$configArray of configuration options

Definition at line 53 of file PasswordFactory.php.

References $type.

PasswordFactory::setDefaultType (   $type)

Set the default password type.

Exceptions
InvalidArgumentExceptionIf the type is not registered
Parameters
string$typePassword hash type

Definition at line 64 of file PasswordFactory.php.

References $type.

Referenced by init().

Member Data Documentation

string PasswordFactory::$default = ''
private

The default PasswordHash type.

See also
PasswordFactory::setDefaultType

Definition at line 35 of file PasswordFactory.php.

Referenced by getDefaultType(), needsUpdate(), and newFromPlaintext().

array PasswordFactory::$types
private
Initial value:
= [
'' => [ 'type' => ''

Mapping of password types to classes.

See also
PasswordFactory::register
Setup.php

Definition at line 43 of file PasswordFactory.php.

Referenced by getTypes().


The documentation for this class was generated from the following file: