MediaWiki master
MediaWiki\Password\PasswordFactory Class Reference

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

Public Member Functions

 __construct (array $config=[], string $default='')
 Most of the time you'll want to use MediaWikiServices::getInstance()->getPasswordFactory instead.
 
 getDefaultType ()
 Get the default password type.
 
 getTypes ()
 Get the list of types of passwords.
 
 init (Config $config)
 
 needsUpdate (Password $password)
 Determine whether a password object needs updating.
 
 newFromCiphertext (?string $hash)
 Create a new Password object from an existing string hash.
 
 newFromPlaintext (?string $password, Password $existing=null)
 Create a new Password object from a plaintext password.
 
 newFromType (string $type)
 Create a new Password object of the given type.
 
 register (string $type, array $config)
 Register a new type of password hash.
 
 setDefaultType (string $type)
 Set the default password type.
 

Static Public Member Functions

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

Detailed Description

Factory class for creating and checking Password objects.

Since
1.24

Definition at line 38 of file PasswordFactory.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Password\PasswordFactory::__construct ( array $config = [],
string $default = '' )

Most of the time you'll want to use MediaWikiServices::getInstance()->getPasswordFactory instead.

Parameters
array$configMapping of password type => config
string$defaultDefault password type
See also
PasswordFactory::register
PasswordFactory::setDefaultType

Definition at line 66 of file PasswordFactory.php.

References MediaWiki\Password\PasswordFactory\setDefaultType().

Member Function Documentation

◆ generateRandomPasswordString()

static MediaWiki\Password\PasswordFactory::generateRandomPasswordString ( int $minLength = 10)
static

Generate a random string suitable for a password.

Parameters
int$minLengthMinimum length of password to generate
Returns
string

Definition at line 245 of file PasswordFactory.php.

◆ getDefaultType()

MediaWiki\Password\PasswordFactory::getDefaultType ( )

Get the default password type.

Returns
string

Definition at line 110 of file PasswordFactory.php.

◆ getTypes()

MediaWiki\Password\PasswordFactory::getTypes ( )

Get the list of types of passwords.

Returns
array[]

Definition at line 136 of file PasswordFactory.php.

◆ init()

MediaWiki\Password\PasswordFactory::init ( Config $config)
Deprecated
since 1.32 Initialize settings using the constructor Emitting deprecation warnings since 1.41.

Initialize the internal static variables using the global variables

Parameters
Config$configConfiguration object to load data from

Definition at line 122 of file PasswordFactory.php.

◆ needsUpdate()

MediaWiki\Password\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 231 of file PasswordFactory.php.

◆ newFromCiphertext()

MediaWiki\Password\PasswordFactory::newFromCiphertext ( ?string $hash)

Create a new Password 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 151 of file PasswordFactory.php.

Referenced by MediaWiki\Auth\AbstractPasswordPrimaryAuthenticationProvider\getPassword().

◆ newFromPlaintext()

MediaWiki\Password\PasswordFactory::newFromPlaintext ( ?string $password,
Password $existing = null )

Create a new Password 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 205 of file PasswordFactory.php.

◆ newFromType()

MediaWiki\Password\PasswordFactory::newFromType ( string $type)

Create a new Password object of the given type.

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

Definition at line 169 of file PasswordFactory.php.

◆ newInvalidPassword()

static MediaWiki\Password\PasswordFactory::newInvalidPassword ( )
static

Create an InvalidPassword.

Returns
InvalidPassword

Definition at line 260 of file PasswordFactory.php.

◆ register()

MediaWiki\Password\PasswordFactory::register ( string $type,
array $config )

Register a new type of password hash.

Parameters
string$typeUnique type name for the hash. Will be prefixed to the password hashes to identify what hashing method was used.
array$configArray of configuration options. 'class' is required (the Password subclass name), everything else is passed to the constructor of that class.

Definition at line 84 of file PasswordFactory.php.

◆ setDefaultType()

MediaWiki\Password\PasswordFactory::setDefaultType ( string $type)

Set the default password type.

This type will be used for creating new passwords when the type is not specified. Passwords of a different type will be considered outdated and in need of update.

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

Definition at line 98 of file PasswordFactory.php.

Referenced by MediaWiki\Password\PasswordFactory\__construct().


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