MediaWiki master
MediaWiki\Auth\RememberMeAuthenticationRequest Class Reference

This is an authentication request added by AuthManager to show a "remember me" checkbox. More...

Inherits MediaWiki\Auth\AuthenticationRequest.

Collaboration diagram for MediaWiki\Auth\RememberMeAuthenticationRequest:

Public Member Functions

 __construct (string $flag=self::CHOOSE_REMEMBER)
 
 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

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

Public Attributes

bool $rememberMe = false
 
bool $required = self::OPTIONAL
 Whether this field must be filled in on the form.
 
bool $skippable = true
 Whether display of this field can be skipped, accepting the default value, if there are no other fields on the form.
 
const ALLOWED_FLAGS
 Allowed configuration flags.
 
const ALWAYS_REMEMBER = 'always'
 Indicates that the user will always be remembered.
 
const CHOOSE_REMEMBER = 'choose'
 Indicates that the user may be able to choose whether to be remembered or not.
 
const FORCE_CHOOSE_REMEMBER = 'force-choose'
 Indicates that the user will be able to choose whether to be remembered or not.
 
const NEVER_REMEMBER = 'never'
 Indicates that the user will never be remembered.
 
- 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.
 

Protected Attributes

int null $expiration = null
 How long the user will be remembered, in seconds.
 

Additional Inherited Members

- 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.
 

Detailed Description

This is an authentication request added by AuthManager to show a "remember me" checkbox.

When checked, it will take more time for the authenticated session to expire.

Stability: stable
to extend
Since
1.27

Definition at line 35 of file RememberMeAuthenticationRequest.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Auth\RememberMeAuthenticationRequest::__construct ( string $flag = self::CHOOSE_REMEMBER)

Member Function Documentation

◆ getFieldInfo()

MediaWiki\Auth\RememberMeAuthenticationRequest::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 137 of file RememberMeAuthenticationRequest.php.

References MediaWiki\Auth\RememberMeAuthenticationRequest\$skippable, and wfMessage().

Member Data Documentation

◆ $expiration

int null MediaWiki\Auth\RememberMeAuthenticationRequest::$expiration = null
protected

How long the user will be remembered, in seconds.

Null means setting the $rememberMe will have no effect

Definition at line 92 of file RememberMeAuthenticationRequest.php.

◆ $rememberMe

bool MediaWiki\Auth\RememberMeAuthenticationRequest::$rememberMe = false

Definition at line 95 of file RememberMeAuthenticationRequest.php.

◆ $required

bool MediaWiki\Auth\RememberMeAuthenticationRequest::$required = self::OPTIONAL

Whether this field must be filled in on the form.

Since the field is a checkbox, which can by definition be left blank, it is always optional.

Definition at line 75 of file RememberMeAuthenticationRequest.php.

◆ $skippable

bool MediaWiki\Auth\RememberMeAuthenticationRequest::$skippable = true

Whether display of this field can be skipped, accepting the default value, if there are no other fields on the form.

Since
1.36

Definition at line 83 of file RememberMeAuthenticationRequest.php.

Referenced by MediaWiki\Auth\RememberMeAuthenticationRequest\getFieldInfo().

◆ ALLOWED_FLAGS

const MediaWiki\Auth\RememberMeAuthenticationRequest::ALLOWED_FLAGS
Initial value:
= [
]
const CHOOSE_REMEMBER
Indicates that the user may be able to choose whether to be remembered or not.
const ALWAYS_REMEMBER
Indicates that the user will always be remembered.
const FORCE_CHOOSE_REMEMBER
Indicates that the user will be able to choose whether to be remembered or not.
const NEVER_REMEMBER
Indicates that the user will never be remembered.

Allowed configuration flags.

Definition at line 63 of file RememberMeAuthenticationRequest.php.

◆ ALWAYS_REMEMBER

const MediaWiki\Auth\RememberMeAuthenticationRequest::ALWAYS_REMEMBER = 'always'

Indicates that the user will always be remembered.

Definition at line 53 of file RememberMeAuthenticationRequest.php.

Referenced by MediaWiki\Auth\RememberMeAuthenticationRequest\__construct(), and MediaWiki\Auth\AuthManager\continueAuthentication().

◆ CHOOSE_REMEMBER

const MediaWiki\Auth\RememberMeAuthenticationRequest::CHOOSE_REMEMBER = 'choose'

Indicates that the user may be able to choose whether to be remembered or not.

The choice field is skippable if no other fields are on the login form. This is the original pre-1.36 behavior.

Definition at line 42 of file RememberMeAuthenticationRequest.php.

Referenced by MediaWiki\Auth\RememberMeAuthenticationRequest\__construct().

◆ FORCE_CHOOSE_REMEMBER

const MediaWiki\Auth\RememberMeAuthenticationRequest::FORCE_CHOOSE_REMEMBER = 'force-choose'

Indicates that the user will be able to choose whether to be remembered or not.

The choice field is not skippable, even if there are no other fields on the login form.

Definition at line 48 of file RememberMeAuthenticationRequest.php.

Referenced by MediaWiki\Auth\RememberMeAuthenticationRequest\__construct().

◆ NEVER_REMEMBER

const MediaWiki\Auth\RememberMeAuthenticationRequest::NEVER_REMEMBER = 'never'

Indicates that the user will never be remembered.

Definition at line 58 of file RememberMeAuthenticationRequest.php.

Referenced by MediaWiki\Auth\RememberMeAuthenticationRequest\__construct(), and MediaWiki\Auth\AuthManager\continueAuthentication().


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