MediaWiki  master
MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider Class Reference

Reset the local password, if signalled via $this->manager->setAuthenticationSessionData() More...

Inheritance diagram for MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider:
Collaboration diagram for MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider:

Public Member Functions

 beginSecondaryAccountCreation ( $user, $creator, array $reqs)
 Start an account creation flow. More...
 
 beginSecondaryAuthentication ( $user, array $reqs)
 Start an authentication flow. More...
 
 continueSecondaryAccountCreation ( $user, $creator, array $reqs)
 Continue an authentication flow. More...
 
 continueSecondaryAuthentication ( $user, array $reqs)
 Continue an authentication flow. More...
 
 getAuthenticationRequests ( $action, array $options)
 Return the applicable list of AuthenticationRequests. More...
 
- Public Member Functions inherited from MediaWiki\Auth\AbstractSecondaryAuthenticationProvider
 autoCreatedAccount ( $user, $source)
 Post-auto-creation callback. More...
 
 continueSecondaryAccountCreation ( $user, $creator, array $reqs)
 Continue an authentication flow. More...
 
 continueSecondaryAuthentication ( $user, array $reqs)
 Continue an authentication flow. More...
 
 postAccountCreation ( $user, $creator, AuthenticationResponse $response)
 Post-creation callback. More...
 
 postAuthentication ( $user, AuthenticationResponse $response)
 Post-login callback. More...
 
 providerAllowsAuthenticationDataChange (AuthenticationRequest $req, $checkData=true)
 Validate a change of authentication data (e.g. More...
 
 providerAllowsPropertyChange ( $property)
 Determine whether a property can change. More...
 
 providerChangeAuthenticationData (AuthenticationRequest $req)
 Change or remove authentication data (e.g. More...
 
 providerRevokeAccessForUser ( $username)
 Revoke the user's credentials.This may cause the user to no longer exist for the provider, or the user may continue to exist in a "disabled" state.The intention is that the named account will never again be usable for normal login (i.e. there is no way to undo the revocation of access).
Parameters
string$username
More...
 
 testForAccountCreation ( $user, $creator, array $reqs)
 Determine whether an account creation may begin. More...
 
 testUserForCreation ( $user, $autocreate, array $options=[])
 Determine whether an account may be created. More...
 
- Public Member Functions inherited from MediaWiki\Auth\AbstractAuthenticationProvider
 getUniqueId ()
 Return a unique identifier for this instance.This must be the same across requests. If multiple instances return the same ID, exceptions will be thrown from AuthManager.
Returns
string
More...
 
 setConfig (Config $config)
 Set configuration. More...
 
 setLogger (LoggerInterface $logger)
 
 setManager (AuthManager $manager)
 Set AuthManager. More...
 

Protected Member Functions

 tryReset (\User $user, array $reqs)
 Try to reset the password. More...
 

Additional Inherited Members

- Protected Attributes inherited from MediaWiki\Auth\AbstractAuthenticationProvider
Config $config
 
LoggerInterface $logger
 
AuthManager $manager
 

Detailed Description

Reset the local password, if signalled via $this->manager->setAuthenticationSessionData()

The authentication data key is 'reset-pass'; the data is an object with the following properties:

  • msg: Message object to display to the user
  • hard: Boolean, if true the reset cannot be skipped.
  • req: Optional PasswordAuthenticationRequest to use to actually reset the password. Won't be displayed to the user.
Since
1.27

Definition at line 37 of file ResetPasswordSecondaryAuthenticationProvider.php.

Member Function Documentation

◆ beginSecondaryAccountCreation()

MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::beginSecondaryAccountCreation (   $user,
  $creator,
array  $reqs 
)

Start an account creation flow.

Note
There is no guarantee this will be called in a successful account creation process as the user can just abandon the process at any time after the primary provider has issued a PASS and still have a valid account. Be prepared to handle any database inconsistencies that result from this or continueSecondaryAccountCreation() not being called.
Parameters
User$userUser being created (has been added to the database). This may become a "UserValue" in the future, or User may be refactored into such.
User$creatorUser doing the creation. This may become a "UserValue" in the future, or User may be refactored into such.
AuthenticationRequest[]$reqs
Returns
AuthenticationResponse Expected responses:
  • PASS: The user creation is ok. Additional secondary providers may run.
  • ABSTAIN: Additional secondary providers may run.
  • UI: Additional AuthenticationRequests are needed to complete the process.
  • REDIRECT: Redirection to a third party is needed to complete the process.

Implements MediaWiki\Auth\SecondaryAuthenticationProvider.

Definition at line 51 of file ResetPasswordSecondaryAuthenticationProvider.php.

References MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().

◆ beginSecondaryAuthentication()

MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::beginSecondaryAuthentication (   $user,
array  $reqs 
)

Start an authentication flow.

Note that this may be called for a user even if beginSecondaryAccountCreation() was never called. The module should take the opportunity to do any necessary setup in that case.

Parameters
User$userUser being authenticated. This may become a "UserValue" in the future, or User may be refactored into such.
AuthenticationRequest[]$reqs
Returns
AuthenticationResponse Expected responses:
  • PASS: The user is authenticated. Additional secondary providers may run.
  • FAIL: The user is not authenticated. Fail the authentication process.
  • ABSTAIN: Additional secondary providers may run.
  • UI: Additional AuthenticationRequests are needed to complete the process.
  • REDIRECT: Redirection to a third party is needed to complete the process.

Implements MediaWiki\Auth\SecondaryAuthenticationProvider.

Definition at line 43 of file ResetPasswordSecondaryAuthenticationProvider.php.

References MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().

◆ continueSecondaryAccountCreation()

MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::continueSecondaryAccountCreation (   $user,
  $creator,
array  $reqs 
)

Continue an authentication flow.

Parameters
User$userUser being created (has been added to the database). This may become a "UserValue" in the future, or User may be refactored into such.
User$creatorUser doing the creation. This may become a "UserValue" in the future, or User may be refactored into such.
AuthenticationRequest[]$reqs
Returns
AuthenticationResponse Expected responses:
  • PASS: The user creation is ok. Additional secondary providers may run.
  • ABSTAIN: Additional secondary providers may run.
  • UI: Additional AuthenticationRequests are needed to complete the process.
  • REDIRECT: Redirection to a third party is needed to complete the process.

Implements MediaWiki\Auth\SecondaryAuthenticationProvider.

Definition at line 55 of file ResetPasswordSecondaryAuthenticationProvider.php.

References MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().

◆ continueSecondaryAuthentication()

MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::continueSecondaryAuthentication (   $user,
array  $reqs 
)

Continue an authentication flow.

Parameters
User$userUser being authenticated. This may become a "UserValue" in the future, or User may be refactored into such.
AuthenticationRequest[]$reqs
Returns
AuthenticationResponse Expected responses:
  • PASS: The user is authenticated. Additional secondary providers may run.
  • FAIL: The user is not authenticated. Fail the authentication process.
  • ABSTAIN: Additional secondary providers may run.
  • UI: Additional AuthenticationRequests are needed to complete the process.
  • REDIRECT: Redirection to a third party is needed to complete the process.

Implements MediaWiki\Auth\SecondaryAuthenticationProvider.

Definition at line 47 of file ResetPasswordSecondaryAuthenticationProvider.php.

References MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset().

◆ getAuthenticationRequests()

MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::getAuthenticationRequests (   $action,
array  $options 
)

Return the applicable list of AuthenticationRequests.

Possible values for $action depend on whether the implementing class is also a PreAuthenticationProvider, PrimaryAuthenticationProvider, or SecondaryAuthenticationProvider.

  • ACTION_LOGIN: Valid for passing to beginAuthentication. Called on all providers.
  • ACTION_CREATE: Valid for passing to beginAccountCreation. Called on all providers.
  • ACTION_LINK: Valid for passing to beginAccountLink. Called on linking primary providers only.
  • ACTION_CHANGE: Valid for passing to AuthManager::changeAuthenticationData to change credentials. Called on primary and secondary providers.
  • ACTION_REMOVE: Valid for passing to AuthManager::changeAuthenticationData to remove credentials. Must work without additional user input (i.e. without calling loadFromSubmission). Called on primary and secondary providers.
See also
AuthManager::getAuthenticationRequests()
Parameters
string$action
array$optionsOptions are:
  • username: User name related to the action, or null/unset if anon.
    • ACTION_LOGIN: The currently logged-in user, if any.
    • ACTION_CREATE: The account creator, if non-anonymous.
    • ACTION_LINK: The local user being linked to.
    • ACTION_CHANGE: The user having data changed.
    • ACTION_REMOVE: The user having data removed. If you leave the username property of the returned requests empty, this will automatically be copied there (except for ACTION_CREATE where it wouldn't really make sense).
Returns
AuthenticationRequest[]

Implements MediaWiki\Auth\AuthenticationProvider.

Definition at line 39 of file ResetPasswordSecondaryAuthenticationProvider.php.

◆ tryReset()


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