MediaWiki
master
|
This is a value object for authentication requests. More...
Public Member Functions | |
describeCredentials () | |
Describe the credentials represented by this request. More... | |
getFieldInfo () | |
Fetch input field info. More... | |
getMetadata () | |
Returns metadata about this request. More... | |
getUniqueId () | |
Supply a unique key for deduplication. More... | |
loadFromSubmission (array $data) | |
Initialize form submitted form data. More... | |
Static Public Member Functions | |
static | __set_state ($data) |
Implementing this mainly for use from the unit tests. More... | |
static | getRequestByClass (array $reqs, $class, $allowSubclasses=false) |
Select a request by class name. More... | |
static | getUsernameFromRequests (array $reqs) |
Get the username from the set of requests. More... | |
static | loadRequestsFromSubmission (array $reqs, array $data) |
Update a set of requests with form submit data, discarding ones that fail. More... | |
static | mergeFieldInfo (array $reqs) |
Merge the output of multiple AuthenticationRequest::getFieldInfo() calls. More... | |
Public Attributes | |
string null | $action = null |
The AuthManager::ACTION_* constant this request was created to be used for. More... | |
int | $required = self::REQUIRED |
For login, continue, and link actions, one of self::OPTIONAL, self::REQUIRED, or self::PRIMARY_REQUIRED. More... | |
string null | $returnToUrl = null |
Return-to URL, in case of redirect. More... | |
string null | $username = null |
Username. More... | |
const | OPTIONAL = 0 |
Indicates that the request is not required for authentication to proceed. More... | |
const | PRIMARY_REQUIRED = 2 |
Indicates that the request is required by a primary authentication provdier, but other primary authentication providers do not require it. More... | |
const | REQUIRED = 1 |
Indicates that the request is required for authentication to proceed. More... | |
This is a value object for authentication requests.
An AuthenticationRequest represents a set of form fields that are needed on and provided from the login, account creation, or password change forms.
Definition at line 37 of file AuthenticationRequest.php.
|
static |
Implementing this mainly for use from the unit tests.
array | $data |
Definition at line 350 of file AuthenticationRequest.php.
MediaWiki\Auth\AuthenticationRequest::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.
Definition at line 206 of file AuthenticationRequest.php.
References MediaWiki\Auth\AuthenticationRequest\getUniqueId().
|
abstract |
Fetch input field info.
The field info is an associative array mapping field names to info arrays. The info arrays have the following keys:
Referenced by MediaWiki\Auth\AuthenticationRequest\loadFromSubmission().
MediaWiki\Auth\AuthenticationRequest::getMetadata | ( | ) |
Returns metadata about this request.
This is mainly for the benefit of API clients which need more detailed render hints than what's available through getFieldInfo(). Semantics are unspecified and left to the individual subclasses, but the contents of the array should be primitive types so that they can be transformed into JSON or similar formats.
Definition at line 119 of file AuthenticationRequest.php.
|
static |
Select a request by class name.
AuthenticationRequest[] | $reqs | |
string | $class | Class name |
bool | $allowSubclasses | If true, also returns any request that's a subclass of the given class. |
Definition at line 234 of file AuthenticationRequest.php.
References $req, $requests, and use.
Referenced by MediaWiki\Auth\AuthManager\beginAccountCreation(), MediaWiki\Auth\AuthManager\beginAuthentication(), MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider\beginPrimaryAccountCreation(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\beginPrimaryAccountCreation(), MediaWiki\Auth\AuthPluginPrimaryAuthenticationProvider\beginPrimaryAccountCreation(), MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider\beginPrimaryAuthentication(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\beginPrimaryAuthentication(), MediaWiki\Auth\AuthPluginPrimaryAuthenticationProvider\beginPrimaryAuthentication(), MediaWiki\Auth\AuthManager\continueAccountCreation(), MediaWiki\Auth\AuthManager\continueAuthentication(), MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider\continueLinkAttempt(), MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider\testForAccountCreation(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\testForAccountCreation(), MediaWiki\Auth\LegacyHookPreAuthenticationProvider\testForAuthentication(), MediaWiki\Auth\AuthenticationRequestTest\testGetRequestByClass(), and MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().
MediaWiki\Auth\AuthenticationRequest::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.
Definition at line 80 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthenticationRequest\describeCredentials().
|
static |
Get the username from the set of requests.
Only considers requests that have a "username" field.
AuthenticationRequest[] | $requests |
\\UnexpectedValueException | If multiple different usernames are present. |
Definition at line 254 of file AuthenticationRequest.php.
References $req, MediaWiki\Auth\AuthenticationRequest\$username, and as.
Referenced by MediaWiki\Auth\AuthManager\beginAccountCreation(), MediaWiki\Auth\ThrottlePreAuthenticationProvider\testForAuthentication(), and MediaWiki\Auth\AuthenticationRequestTest\testGetUsernameFromRequests().
MediaWiki\Auth\AuthenticationRequest::loadFromSubmission | ( | array | $data | ) |
Initialize form submitted form data.
Should always return false if self::getFieldInfo() returns an empty array.
array | $data | Submitted data as an associative array |
Definition at line 132 of file AuthenticationRequest.php.
References array(), as, and MediaWiki\Auth\AuthenticationRequest\getFieldInfo().
|
static |
Update a set of requests with form submit data, discarding ones that fail.
AuthenticationRequest[] | $reqs | |
array | $data |
Definition at line 219 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthManagerAuthPlugin\authenticate(), MediaWiki\Auth\AuthManagerAuthPlugin\setPassword(), and MediaWiki\Auth\AuthenticationRequestTest\testLoadRequestsFromSubmission().
|
static |
Merge the output of multiple AuthenticationRequest::getFieldInfo() calls.
AuthenticationRequest[] | $reqs |
\\UnexpectedValueException | If fields cannot be merged |
Definition at line 279 of file AuthenticationRequest.php.
References $name, $options, $req, MediaWiki\Auth\AuthenticationRequest\$required, as, and MediaWiki\Auth\AuthenticationRequest\PRIMARY_REQUIRED.
Referenced by MediaWiki\Auth\AuthenticationRequestTest\testMergeFieldInfo().
string null MediaWiki\Auth\AuthenticationRequest::$action = null |
The AuthManager::ACTION_* constant this request was created to be used for.
The *_CONTINUE constants are not used here, the corresponding "begin" constant is used instead.
Definition at line 53 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\CreateFromLoginAuthenticationRequest\hasPrimaryStateForAction(), and MediaWiki\Auth\CreateFromLoginAuthenticationRequest\hasStateForAction().
int MediaWiki\Auth\AuthenticationRequest::$required = self::REQUIRED |
For login, continue, and link actions, one of self::OPTIONAL, self::REQUIRED, or self::PRIMARY_REQUIRED.
Definition at line 57 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\ButtonAuthenticationRequest\__construct(), and MediaWiki\Auth\AuthenticationRequest\mergeFieldInfo().
string null MediaWiki\Auth\AuthenticationRequest::$returnToUrl = null |
Return-to URL, in case of redirect.
Definition at line 60 of file AuthenticationRequest.php.
string null MediaWiki\Auth\AuthenticationRequest::$username = null |
Username.
May not be used by all subclasses.
Definition at line 63 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthenticationRequest\getUsernameFromRequests().
const MediaWiki\Auth\AuthenticationRequest::OPTIONAL = 0 |
Indicates that the request is not required for authentication to proceed.
Definition at line 40 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequestsRequired(), MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProviderTest\testTryReset(), and MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().
const MediaWiki\Auth\AuthenticationRequest::PRIMARY_REQUIRED = 2 |
Indicates that the request is required by a primary authentication provdier, but other primary authentication providers do not require it.
Definition at line 47 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthManager\getAuthenticationRequestsInternal(), MediaWiki\Auth\AuthenticationRequest\mergeFieldInfo(), MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequestsRequired(), and MediaWiki\Auth\AuthenticationRequestTest\testMergeFieldInfo().
const MediaWiki\Auth\AuthenticationRequest::REQUIRED = 1 |
Indicates that the request is required for authentication to proceed.
Definition at line 43 of file AuthenticationRequest.php.
Referenced by MediaWiki\Auth\AuthManager\getAuthenticationRequestsInternal(), MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequests(), MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequestsRequired(), MediaWiki\Auth\AuthenticationRequestTest\testMergeFieldInfo(), and MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().