MediaWiki master
MediaWiki\Auth\ButtonAuthenticationRequest Class Reference

This is an authentication request that just implements a simple button. More...

Inherits MediaWiki\Auth\AuthenticationRequest.

Collaboration diagram for MediaWiki\Auth\ButtonAuthenticationRequest:

Public Member Functions

 __construct ( $name, Message $label, Message $help, $required=false)
 
 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).
Returns
array As above

 
 getUniqueId ()
 Supply a unique key for deduplication.When the AuthenticationRequests instances returned by the providers are merged, the value returned here is used for keeping only one copy of duplicate requests.Subclasses should override this if multiple distinct instances would make sense, i.e. the request class has internal state of some sort.This value might be exposed to the user in web forms so it should not contain private information.
Stability: stable
to override
Returns
string

 
- Public Member Functions inherited from MediaWiki\Auth\AuthenticationRequest
 describeCredentials ()
 Describe the credentials represented by this request.
 
 getMetadata ()
 Returns metadata about this request.
 
 loadFromSubmission (array $data)
 Initialize form submitted form data.
 

Static Public Member Functions

static __set_state ( $data)
 
static getRequestByName (array $reqs, $name)
 Fetch a ButtonAuthenticationRequest or subclass by name.
 
- Static Public Member Functions inherited from MediaWiki\Auth\AuthenticationRequest
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.
 

Protected Attributes

Message $help
 
Message $label
 
string $name
 

Additional Inherited Members

- 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
 For login, continue, and link actions, one of self::OPTIONAL, self::REQUIRED, or self::PRIMARY_REQUIRED.
 
string null $returnToUrl = null
 Return-to URL, in case of redirect.
 
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 is an authentication request that just implements a simple button.

Stability: stable
to extend
Since
1.27

Definition at line 33 of file ButtonAuthenticationRequest.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Auth\ButtonAuthenticationRequest::__construct ( $name,
Message $label,
Message $help,
$required = false )
Stability: stable
to call
Parameters
string$nameButton name
Message$labelButton label
Message$helpButton help
bool$requiredThe button is required for authentication to proceed.

Definition at line 50 of file ButtonAuthenticationRequest.php.

References MediaWiki\Auth\ButtonAuthenticationRequest\$help, MediaWiki\Auth\ButtonAuthenticationRequest\$label, MediaWiki\Auth\ButtonAuthenticationRequest\$name, MediaWiki\Auth\AuthenticationRequest\$required, MediaWiki\Auth\AuthenticationRequest\OPTIONAL, and MediaWiki\Auth\AuthenticationRequest\REQUIRED.

Member Function Documentation

◆ __set_state()

static MediaWiki\Auth\ButtonAuthenticationRequest::__set_state ( $data)
static
Stability: stable
to override
Parameters
array$data
Returns
AuthenticationRequest|static

Reimplemented from MediaWiki\Auth\AuthenticationRequest.

Definition at line 100 of file ButtonAuthenticationRequest.php.

References MediaWiki\Message\Message\newFromKey().

◆ getFieldInfo()

MediaWiki\Auth\ButtonAuthenticationRequest::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).
Returns
array As above

Stability: stable
to override

Reimplemented from MediaWiki\Auth\AuthenticationRequest.

Definition at line 69 of file ButtonAuthenticationRequest.php.

References MediaWiki\Auth\ButtonAuthenticationRequest\$help, and MediaWiki\Auth\ButtonAuthenticationRequest\$label.

◆ getRequestByName()

static MediaWiki\Auth\ButtonAuthenticationRequest::getRequestByName ( array $reqs,
$name )
static

Fetch a ButtonAuthenticationRequest or subclass by name.

Parameters
AuthenticationRequest[]$reqsRequests to search
string$nameName to look for
Returns
ButtonAuthenticationRequest|null Returns null if there is not exactly one matching request.

Definition at line 86 of file ButtonAuthenticationRequest.php.

References MediaWiki\Auth\ButtonAuthenticationRequest\$name.

Referenced by MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider\continueLinkAttempt(), and MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().

◆ getUniqueId()

MediaWiki\Auth\ButtonAuthenticationRequest::getUniqueId ( )

Supply a unique key for deduplication.When the AuthenticationRequests instances returned by the providers are merged, the value returned here is used for keeping only one copy of duplicate requests.Subclasses should override this if multiple distinct instances would make sense, i.e. the request class has internal state of some sort.This value might be exposed to the user in web forms so it should not contain private information.

Stability: stable
to override
Returns
string

Stability: stable
to override

Reimplemented from MediaWiki\Auth\AuthenticationRequest.

Definition at line 61 of file ButtonAuthenticationRequest.php.

References MediaWiki\Auth\ButtonAuthenticationRequest\$name.

Member Data Documentation

◆ $help

Message MediaWiki\Auth\ButtonAuthenticationRequest::$help
protected

◆ $label

Message MediaWiki\Auth\ButtonAuthenticationRequest::$label
protected

◆ $name


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