MediaWiki master
MediaWiki\Auth\TemporaryPasswordAuthenticationRequest Class Reference

This represents the intention to set a temporary password for the user. More...

Inherits MediaWiki\Auth\AuthenticationRequest.

Collaboration diagram for MediaWiki\Auth\TemporaryPasswordAuthenticationRequest:

Public Member Functions

 __construct ( $password=null)
 
 describeCredentials ()
 Describe the credentials represented by this request.This is used on requests returned by AuthenticationProvider::getAuthenticationRequests() for ACTION_LINK and ACTION_REMOVE and for requests returned in AuthenticationResponse::$linkRequest to create useful user interfaces.
Stability: stable
to override
Returns
Message[] with the following keys:
  • provider: A Message identifying the service that provides the credentials, e.g. the name of the third party authentication service.
  • account: A Message identifying the credentials themselves, e.g. the email address used with the third party authentication service.

 
 getFieldInfo ()
 Fetch input field info.This will be used in the AuthManager APIs and web UIs to define API input parameters / form fields and to process the submitted data.The field info is an associative array mapping field names to info arrays. The info arrays have the following keys:

  • type: (string) Type of input. Types and equivalent HTML widgets are:
    • string: <input type="text">
    • password: <input type="password">
    • select: <select>
    • checkbox: <input type="checkbox">
    • multiselect: More a grid of checkboxes than <select multi>
    • button: <input type="submit"> (uses 'label' as button text)
    • hidden: Not visible to the user, but needs to be preserved for the next request
    • null: No widget, just display the 'label' message.
  • options: (array) Maps option values to Messages for the 'select' and 'multiselect' types.
  • value: (string) Value (for 'null' and 'hidden') or default value (for other types).
  • label: (Message) Text suitable for a label in an HTML form
  • help: (Message) Text suitable as a description of what the field is. Used in API documentation. To add a help text to the web UI, use the AuthChangeFormFields hook.
  • optional: (bool) If set and truthy, the field may be left empty
  • sensitive: (bool) If set and truthy, the field is considered sensitive. Code using the request should avoid exposing the value of the field.
  • skippable: (bool) If set and truthy, the client is free to hide this field from the user to streamline the workflow. If all fields are skippable (except possibly a single button), no user interaction is required at all.
All AuthenticationRequests are populated from the same data, so most of the time you'll want to prefix fields names with something unique to the extension/provider (although in some cases sharing the field with other requests is the right thing to do, e.g. for a 'password' field). When multiple fields have the same name, they will be merged (see AuthenticationRequests::mergeFieldInfo). Typically, AuthenticationRequest subclasses define public properties with names matching the field info keys, and those fields will be populated from the submitted data. More complex behavior can be implemented by overriding {

See also
loadFromSubmission()}.
Returns
array As above

 
- Public Member Functions inherited from MediaWiki\Auth\AuthenticationRequest
 getMetadata ()
 Returns metadata about this request.
 
 getUniqueId ()
 Supply a unique key for deduplication.
 
 loadFromSubmission (array $data)
 Initialize form submitted form data.
 

Static Public Member Functions

static newInvalid ()
 Return an instance with an invalid password.
 
static newRandom ()
 Return an instance with a new, random password.
 
- Static Public Member Functions inherited from MediaWiki\Auth\AuthenticationRequest
static __set_state ( $data)
 Implementing this mainly for use from the unit tests.
 
static getRequestByClass (array $reqs, $class, $allowSubclasses=false)
 Select a request by class name.
 
static getUsernameFromRequests (array $reqs)
 Get the username from the set of requests.
 
static loadRequestsFromSubmission (array $reqs, array $data)
 Update a set of requests with form submit data, discarding ones that fail.
 
static mergeFieldInfo (array $reqs)
 Merge the output of multiple AuthenticationRequest::getFieldInfo() calls.
 

Public Attributes

string $caller
 Username or IP address of the caller.
 
bool $mailpassword = false
 Email password to the user.
 
string null $password
 Temporary password.
 
- Public Attributes inherited from MediaWiki\Auth\AuthenticationRequest
string null $action = null
 The AuthManager::ACTION_* constant this request was created to be used for.
 
int $required = self::REQUIRED
 Whether the authentication request is required (for login, continue, and link actions).
 
string null $returnToUrl = null
 Return-to URL, in case of a REDIRECT AuthenticationResponse.
 
string null $username = null
 Username.
 
const OPTIONAL = 0
 Indicates that the request is not required for authentication to proceed.
 
const PRIMARY_REQUIRED = 2
 Indicates that the request is required by a primary authentication provider.
 
const REQUIRED = 1
 Indicates that the request is required for authentication to proceed.
 

Detailed Description

This represents the intention to set a temporary password for the user.

Stability: stable
to extend
Since
1.27

Definition at line 35 of file TemporaryPasswordAuthenticationRequest.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::__construct ( $password = null)
Stability: stable
to call
Parameters
string | null$password

Definition at line 63 of file TemporaryPasswordAuthenticationRequest.php.

References MediaWiki\Auth\TemporaryPasswordAuthenticationRequest\$password.

Member Function Documentation

◆ describeCredentials()

MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::describeCredentials ( )

Describe the credentials represented by this request.This is used on requests returned by AuthenticationProvider::getAuthenticationRequests() for ACTION_LINK and ACTION_REMOVE and for requests returned in AuthenticationResponse::$linkRequest to create useful user interfaces.

Stability: stable
to override
Returns
Message[] with the following keys:
  • provider: A Message identifying the service that provides the credentials, e.g. the name of the third party authentication service.
  • account: A Message identifying the credentials themselves, e.g. the email address used with the third party authentication service.

Stability: stable
to override

Reimplemented from MediaWiki\Auth\AuthenticationRequest.

Definition at line 103 of file TemporaryPasswordAuthenticationRequest.php.

References wfMessage().

◆ getFieldInfo()

MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::getFieldInfo ( )

Fetch input field info.This will be used in the AuthManager APIs and web UIs to define API input parameters / form fields and to process the submitted data.The field info is an associative array mapping field names to info arrays. The info arrays have the following keys:

  • type: (string) Type of input. Types and equivalent HTML widgets are:
    • string: <input type="text">
    • password: <input type="password">
    • select: <select>
    • checkbox: <input type="checkbox">
    • multiselect: More a grid of checkboxes than <select multi>
    • button: <input type="submit"> (uses 'label' as button text)
    • hidden: Not visible to the user, but needs to be preserved for the next request
    • null: No widget, just display the 'label' message.
  • options: (array) Maps option values to Messages for the 'select' and 'multiselect' types.
  • value: (string) Value (for 'null' and 'hidden') or default value (for other types).
  • label: (Message) Text suitable for a label in an HTML form
  • help: (Message) Text suitable as a description of what the field is. Used in API documentation. To add a help text to the web UI, use the AuthChangeFormFields hook.
  • optional: (bool) If set and truthy, the field may be left empty
  • sensitive: (bool) If set and truthy, the field is considered sensitive. Code using the request should avoid exposing the value of the field.
  • skippable: (bool) If set and truthy, the client is free to hide this field from the user to streamline the workflow. If all fields are skippable (except possibly a single button), no user interaction is required at all.
All AuthenticationRequests are populated from the same data, so most of the time you'll want to prefix fields names with something unique to the extension/provider (although in some cases sharing the field with other requests is the right thing to do, e.g. for a 'password' field). When multiple fields have the same name, they will be merged (see AuthenticationRequests::mergeFieldInfo). Typically, AuthenticationRequest subclasses define public properties with names matching the field info keys, and those fields will be populated from the submitted data. More complex behavior can be implemented by overriding {

See also
loadFromSubmission()}.
Returns
array As above

Stability: stable
to override

Reimplemented from MediaWiki\Auth\AuthenticationRequest.

Definition at line 49 of file TemporaryPasswordAuthenticationRequest.php.

References wfMessage().

◆ newInvalid()

static MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::newInvalid ( )
static

Return an instance with an invalid password.

Returns
TemporaryPasswordAuthenticationRequest

Definition at line 95 of file TemporaryPasswordAuthenticationRequest.php.

◆ newRandom()

static MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::newRandom ( )
static

Member Data Documentation

◆ $caller

string MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::$caller

Username or IP address of the caller.

Definition at line 43 of file TemporaryPasswordAuthenticationRequest.php.

◆ $mailpassword

bool MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::$mailpassword = false

Email password to the user.

Definition at line 40 of file TemporaryPasswordAuthenticationRequest.php.

◆ $password

string null MediaWiki\Auth\TemporaryPasswordAuthenticationRequest::$password

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