MediaWiki master
MediaWiki\Auth\AuthenticationResponse Class Reference

This is a value object to hold authentication response data. More...

Collaboration diagram for MediaWiki\Auth\AuthenticationResponse:

Static Public Member Functions

static newAbstain ()
 
static newFail (Message $msg, array $failReasons=[])
 
static newPass ( $username=null)
 
static newRedirect (array $reqs, $redirectTarget, $redirectApiData=null)
 
static newRestart (Message $msg)
 
static newUI (array $reqs, Message $msg, $msgtype='warning')
 

Public Attributes

AuthenticationRequest null $createRequest = null
 Returned with a PrimaryAuthenticationProvider login FAIL or a PASS with no username, this can be set to a request that should result in a PASS when passed to that provider's PrimaryAuthenticationProvider::beginPrimaryAccountCreation().
 
string[] null $failReasons = null
 String data that is optionally provided on a FAIL.
 
AuthenticationRequest null $linkRequest = null
 When returned with a PrimaryAuthenticationProvider login PASS with no username, the request this holds will be passed to AuthManager::changeAuthenticationData() once the local user has been determined and the user has confirmed the account ownership (by reviewing the information given by $linkRequest->describeCredentials()).
 
AuthenticationRequest null $loginRequest = null
 Returned with an AuthManager account creation PASS, this holds a request to pass to AuthManager::beginAuthentication() to immediately log into the created account.
 
Message null $message = null
 I18n message to display in case of UI or FAIL.
 
string $messageType = 'warning'
 Whether the $message is an error or warning message, for styling reasons.
 
AuthenticationRequest[] $neededRequests = []
 Needed AuthenticationRequests to continue after a UI or REDIRECT response.
 
mixed $redirectApiData = null
 Data for a REDIRECT response that a client might use to query the remote site via its API rather than by following $redirectTarget.
 
string null $redirectTarget = null
 URL to redirect to for a REDIRECT response.
 
string $status
 One of the constants above.
 
string null $username = null
 Local username from authentication.
 
const ABSTAIN = 'ABSTAIN'
 Indicates that the authentication provider does not handle this request.
 
const FAIL = 'FAIL'
 Indicates that the authentication failed.
 
const PASS = 'PASS'
 Indicates that the authentication succeeded.
 
const REDIRECT = 'REDIRECT'
 Indicates that the authentication needs to be redirected to a third party to proceed.
 
const RESTART = 'RESTART'
 Indicates that third-party authentication succeeded but no user exists.
 
const UI = 'UI'
 Indicates that the authentication needs further user input of some sort.
 

Detailed Description

This is a value object to hold authentication response data.

An AuthenticationResponse represents both the status of the authentication (success, failure, in progress) and its state (what data is needed to continue).

Since
1.27

Definition at line 38 of file AuthenticationResponse.php.

Member Function Documentation

◆ newAbstain()

◆ newFail()

static MediaWiki\Auth\AuthenticationResponse::newFail ( Message  $msg,
array  $failReasons = [] 
)
static

◆ newPass()

◆ newRedirect()

static MediaWiki\Auth\AuthenticationResponse::newRedirect ( array  $reqs,
  $redirectTarget,
  $redirectApiData = null 
)
static
Parameters
AuthenticationRequest[]$reqsAuthenticationRequests needed to continue
string$redirectTargetURL
mixed | null$redirectApiDataData suitable for adding to an ApiResult
Returns
AuthenticationResponse
See also
AuthenticationResponse::REDIRECT

Definition at line 219 of file AuthenticationResponse.php.

References MediaWiki\Auth\AuthenticationResponse\$redirectApiData, MediaWiki\Auth\AuthenticationResponse\$redirectTarget, and MediaWiki\Auth\AuthenticationResponse\REDIRECT.

◆ newRestart()

static MediaWiki\Auth\AuthenticationResponse::newRestart ( Message  $msg)
static
Parameters
Message$msg
Returns
AuthenticationResponse
See also
AuthenticationResponse::RESTART

Definition at line 172 of file AuthenticationResponse.php.

References MediaWiki\Auth\AuthenticationResponse\RESTART.

Referenced by MediaWiki\Auth\AuthManager\continueAuthentication().

◆ newUI()

static MediaWiki\Auth\AuthenticationResponse::newUI ( array  $reqs,
Message  $msg,
  $msgtype = 'warning' 
)
static
Parameters
AuthenticationRequest[]$reqsAuthenticationRequests needed to continue
Message$msg
string$msgtype
Returns
AuthenticationResponse
See also
AuthenticationResponse::UI

Definition at line 196 of file AuthenticationResponse.php.

References MediaWiki\Auth\AuthenticationResponse\UI.

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

Member Data Documentation

◆ $createRequest

AuthenticationRequest null MediaWiki\Auth\AuthenticationResponse::$createRequest = null

Returned with a PrimaryAuthenticationProvider login FAIL or a PASS with no username, this can be set to a request that should result in a PASS when passed to that provider's PrimaryAuthenticationProvider::beginPrimaryAccountCreation().

The client will be able to send that back for expedited account creation where only the username needs to be filled.

Returned with an AuthManager login FAIL or RESTART, this holds a CreateFromLoginAuthenticationRequest that may be passed to AuthManager::beginCreateAccount(), possibly in place of any "primary-required" requests. It may also be passed to AuthManager::beginAuthentication() to preserve the list of accounts which can be linked after success (see $linkRequest).

Definition at line 110 of file AuthenticationResponse.php.

◆ $failReasons

string [] null MediaWiki\Auth\AuthenticationResponse::$failReasons = null

String data that is optionally provided on a FAIL.

It describes information about the failed AuthenticationResponse that shouldn't be shared with the client.

The CheckUser extension uses this so that it can receive whether a login request for a locked account had the correct password. Using the I18n message would allow the client to see if the password they tried on the locked account was correct while this method does not show the client this info.

Definition at line 138 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthenticationResponse\newFail().

◆ $linkRequest

AuthenticationRequest null MediaWiki\Auth\AuthenticationResponse::$linkRequest = null

When returned with a PrimaryAuthenticationProvider login PASS with no username, the request this holds will be passed to AuthManager::changeAuthenticationData() once the local user has been determined and the user has confirmed the account ownership (by reviewing the information given by $linkRequest->describeCredentials()).

The provider should handle that changeAuthenticationData() call by doing the actual linking.

Definition at line 120 of file AuthenticationResponse.php.

◆ $loginRequest

AuthenticationRequest null MediaWiki\Auth\AuthenticationResponse::$loginRequest = null

Returned with an AuthManager account creation PASS, this holds a request to pass to AuthManager::beginAuthentication() to immediately log into the created account.

All provider methods except postAuthentication will be skipped.

Definition at line 128 of file AuthenticationResponse.php.

◆ $message

Message null MediaWiki\Auth\AuthenticationResponse::$message = null

I18n message to display in case of UI or FAIL.

Definition at line 83 of file AuthenticationResponse.php.

◆ $messageType

string MediaWiki\Auth\AuthenticationResponse::$messageType = 'warning'

Whether the $message is an error or warning message, for styling reasons.

Definition at line 86 of file AuthenticationResponse.php.

◆ $neededRequests

AuthenticationRequest [] MediaWiki\Auth\AuthenticationResponse::$neededRequests = []

Needed AuthenticationRequests to continue after a UI or REDIRECT response.

This plays the same role when continuing authentication as AuthManager::getAuthenticationRequests() does when beginning it.

Definition at line 80 of file AuthenticationResponse.php.

◆ $redirectApiData

mixed MediaWiki\Auth\AuthenticationResponse::$redirectApiData = null

Data for a REDIRECT response that a client might use to query the remote site via its API rather than by following $redirectTarget.

Value must be something acceptable to ApiResult::addValue().

Definition at line 72 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthenticationResponse\newRedirect().

◆ $redirectTarget

string null MediaWiki\Auth\AuthenticationResponse::$redirectTarget = null

URL to redirect to for a REDIRECT response.

Definition at line 65 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthenticationResponse\newRedirect().

◆ $status

string MediaWiki\Auth\AuthenticationResponse::$status

One of the constants above.

Definition at line 62 of file AuthenticationResponse.php.

◆ $username

string null MediaWiki\Auth\AuthenticationResponse::$username = null

Local username from authentication.

The value may be null if the authentication passed, but no local user is known.

Definition at line 92 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthenticationResponse\newPass().

◆ ABSTAIN

const MediaWiki\Auth\AuthenticationResponse::ABSTAIN = 'ABSTAIN'

Indicates that the authentication provider does not handle this request.

Definition at line 53 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthManager\continueAuthentication(), and MediaWiki\Auth\AuthenticationResponse\newAbstain().

◆ FAIL

const MediaWiki\Auth\AuthenticationResponse::FAIL = 'FAIL'

Indicates that the authentication failed.

Definition at line 43 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthManager\continueAuthentication(), and MediaWiki\Auth\AuthenticationResponse\newFail().

◆ PASS

const MediaWiki\Auth\AuthenticationResponse::PASS = 'PASS'

◆ REDIRECT

const MediaWiki\Auth\AuthenticationResponse::REDIRECT = 'REDIRECT'

Indicates that the authentication needs to be redirected to a third party to proceed.

Definition at line 59 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthManager\continueAuthentication(), and MediaWiki\Auth\AuthenticationResponse\newRedirect().

◆ RESTART

const MediaWiki\Auth\AuthenticationResponse::RESTART = 'RESTART'

Indicates that third-party authentication succeeded but no user exists.

Either treat this like a UI response or pass $this->createRequest to AuthManager::beginCreateAccount(). For use by AuthManager only (providers should just return a PASS with no username).

Definition at line 50 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthenticationResponse\newRestart().

◆ UI

const MediaWiki\Auth\AuthenticationResponse::UI = 'UI'

Indicates that the authentication needs further user input of some sort.

Definition at line 56 of file AuthenticationResponse.php.

Referenced by MediaWiki\Auth\AuthManager\continueAuthentication(), and MediaWiki\Auth\AuthenticationResponse\newUI().


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