MediaWiki REL1_31
MediaWiki\Auth\AuthManagerAuthPlugin Class Reference

Backwards-compatibility wrapper for AuthManager via $wgAuth. More...

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

Public Member Functions

 __construct ()
 
 addUser ( $user, $password, $email='', $realname='')
 Add a user to the external authentication database.
 
 allowPasswordChange ()
 Can users change their passwords?
 
 allowPropChange ( $prop='')
 Allow a property change? Properties are the same as preferences and use the same keys.
 
 allowSetLocalPassword ()
 Should MediaWiki store passwords in its local database?
 
 authenticate ( $username, $password)
 Check if a username+password pair is a valid login.
 
 autoCreate ()
 Return true if the wiki should create a new local account automatically when asked to login a user who doesn't exist locally but does in the external auth database.
 
 canCreateAccounts ()
 Check to see if external accounts can be created.
 
 domainList ()
 Get a list of domains (in HTMLForm options format) used.
 
 getCanonicalName ( $username)
 If you want to munge the case of an account name before the final check, now is your chance.
 
 getDomain ()
 Get the user's domain.
 
 getUserInstance (User &$user)
 Get an instance of a User object.
 
 initUser (&$user, $autocreate=false)
 When creating a user account, optionally fill in preferences and such.
 
 modifyUITemplate (&$template, &$type)
 Modify options in the login template.
 
 setDomain ( $domain)
 Set the domain this plugin is supposed to use when authenticating.
 
 setPassword ( $user, $password)
 Set the given password in the authentication database.
 
 strict ()
 Return true to prevent logins that don't authenticate here from being checked against the local database's password fields.
 
 strictUserAuth ( $username)
 Check if a user should authenticate locally if the global authentication fails.
 
 updateExternalDB ( $user)
 Update user information in the external authentication database.
 
 updateExternalDBGroups ( $user, $addgroups, $delgroups=[])
 Update user groups in the external authentication database.
 
 updateUser (&$user)
 When a user logs in, optionally fill in preferences and such.
 
 userExists ( $name)
 Check whether there exists a user account with the given name.
 
 validDomain ( $domain)
 Check to see if the specific domain is a valid domain.
 

Protected Attributes

string null $domain = null
 
LoggerInterface $logger = null
 
- Protected Attributes inherited from AuthPlugin
string $domain
 

Detailed Description

Backwards-compatibility wrapper for AuthManager via $wgAuth.

Since
1.27
Deprecated:
since 1.27

Definition at line 31 of file AuthManagerAuthPlugin.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Auth\AuthManagerAuthPlugin::__construct ( )

Definition at line 38 of file AuthManagerAuthPlugin.php.

Member Function Documentation

◆ addUser()

MediaWiki\Auth\AuthManagerAuthPlugin::addUser (   $user,
  $password,
  $email = '',
  $realname = '' 
)

Add a user to the external authentication database.

Return true if successful.

Parameters
User$userOnly the name should be assumed valid at this point
string$password
string$email
string$realname
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 165 of file AuthManagerAuthPlugin.php.

◆ allowPasswordChange()

MediaWiki\Auth\AuthManagerAuthPlugin::allowPasswordChange ( )

Can users change their passwords?

Returns
bool

Reimplemented from AuthPlugin.

Definition at line 107 of file AuthManagerAuthPlugin.php.

References $req, MediaWiki\Auth\AuthManager\ACTION_CHANGE, as, and MediaWiki\Auth\AuthManager\singleton().

◆ allowPropChange()

MediaWiki\Auth\AuthManagerAuthPlugin::allowPropChange (   $prop = '')

Allow a property change? Properties are the same as preferences and use the same keys.

'Realname' 'Emailaddress' and 'Nickname' all reference this.

Parameters
string$prop
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 103 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManager\singleton().

◆ allowSetLocalPassword()

MediaWiki\Auth\AuthManagerAuthPlugin::allowSetLocalPassword ( )

Should MediaWiki store passwords in its local database?

Returns
bool

Reimplemented from AuthPlugin.

Definition at line 118 of file AuthManagerAuthPlugin.php.

◆ authenticate()

MediaWiki\Auth\AuthManagerAuthPlugin::authenticate (   $username,
  $password 
)

Check if a username+password pair is a valid login.

The name will be normalized to MediaWiki's requirements, so you might need to munge it (for instance, for lowercase initial letters).

Parameters
string$usernameUsername.
string$passwordUser password.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 46 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManagerAuthPlugin\$domain, $res, $username, MediaWiki\Auth\AuthManager\ACTION_LOGIN, MediaWiki\Auth\AuthenticationResponse\FAIL, MediaWiki\Auth\AuthenticationRequest\loadRequestsFromSubmission(), MediaWiki\Auth\AuthenticationResponse\PASS, and MediaWiki\Auth\AuthManager\singleton().

◆ autoCreate()

MediaWiki\Auth\AuthManagerAuthPlugin::autoCreate ( )

Return true if the wiki should create a new local account automatically when asked to login a user who doesn't exist locally but does in the external auth database.

If you don't automatically create accounts, you must still create accounts in some way. It's not possible to authenticate without a local account.

This is just a question, and shouldn't perform any actions.

Returns
bool

Reimplemented from AuthPlugin.

Definition at line 99 of file AuthManagerAuthPlugin.php.

◆ canCreateAccounts()

MediaWiki\Auth\AuthManagerAuthPlugin::canCreateAccounts ( )

Check to see if external accounts can be created.

Return true if external accounts can be created.

Returns
bool

Reimplemented from AuthPlugin.

Definition at line 161 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManager\singleton().

◆ domainList()

MediaWiki\Auth\AuthManagerAuthPlugin::domainList ( )

Get a list of domains (in HTMLForm options format) used.

Returns
array

Reimplemented from AuthPlugin.

Definition at line 198 of file AuthManagerAuthPlugin.php.

Referenced by MediaWiki\Auth\AuthManagerAuthPlugin\validDomain().

◆ getCanonicalName()

MediaWiki\Auth\AuthManagerAuthPlugin::getCanonicalName (   $username)

If you want to munge the case of an account name before the final check, now is your chance.

Parameters
string$username
Returns
string

Reimplemented from AuthPlugin.

Definition at line 189 of file AuthManagerAuthPlugin.php.

References $username.

◆ getDomain()

MediaWiki\Auth\AuthManagerAuthPlugin::getDomain ( )

Get the user's domain.

Returns
string

Reimplemented from AuthPlugin.

Definition at line 81 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManagerAuthPlugin\$domain.

◆ getUserInstance()

MediaWiki\Auth\AuthManagerAuthPlugin::getUserInstance ( User $user)

Get an instance of a User object.

Parameters
User&$user
Returns
AuthPluginUser

Reimplemented from AuthPlugin.

Definition at line 194 of file AuthManagerAuthPlugin.php.

References $user.

◆ initUser()

MediaWiki\Auth\AuthManagerAuthPlugin::initUser ( $user,
  $autocreate = false 
)

When creating a user account, optionally fill in preferences and such.

For instance, you might pull the email address or real name from the external user database.

The User object is passed by reference so it can be modified; don't forget the & on your function declaration.

Deprecated:
since 1.26, use the UserLoggedIn hook instead. And assigning a different User object to $user is no longer supported.
Parameters
User&$user
bool$autocreateTrue if user is being autocreated on login

Reimplemented from AuthPlugin.

Definition at line 185 of file AuthManagerAuthPlugin.php.

References $user.

◆ modifyUITemplate()

MediaWiki\Auth\AuthManagerAuthPlugin::modifyUITemplate ( $template,
$type 
)

Modify options in the login template.

Parameters
BaseTemplate&$template
string&$type'signup' or 'login'. Added in 1.16.

Reimplemented from AuthPlugin.

Definition at line 73 of file AuthManagerAuthPlugin.php.

◆ setDomain()

MediaWiki\Auth\AuthManagerAuthPlugin::setDomain (   $domain)

Set the domain this plugin is supposed to use when authenticating.

Parameters
string$domainAuthentication domain.

Reimplemented from AuthPlugin.

Definition at line 77 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManagerAuthPlugin\$domain.

◆ setPassword()

MediaWiki\Auth\AuthManagerAuthPlugin::setPassword (   $user,
  $password 
)

Set the given password in the authentication database.

As a special case, the password may be set to null to request locking the password to an unusable value, with the expectation that it will be set later through a mail reset or other method.

Return true if successful.

Parameters
User$user
string$passwordPassword.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 123 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManagerAuthPlugin\$domain, $req, $user, MediaWiki\Auth\AuthManager\ACTION_CHANGE, as, MediaWiki\Auth\AuthenticationRequest\loadRequestsFromSubmission(), and MediaWiki\Auth\AuthManager\singleton().

◆ strict()

MediaWiki\Auth\AuthManagerAuthPlugin::strict ( )

Return true to prevent logins that don't authenticate here from being checked against the local database's password fields.

This is just a question, and shouldn't perform any actions.

Returns
bool

Reimplemented from AuthPlugin.

Definition at line 175 of file AuthManagerAuthPlugin.php.

◆ strictUserAuth()

MediaWiki\Auth\AuthManagerAuthPlugin::strictUserAuth (   $username)

Check if a user should authenticate locally if the global authentication fails.

If either this or strict() returns true, local authentication is not used.

Parameters
string$usernameUsername.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 180 of file AuthManagerAuthPlugin.php.

◆ updateExternalDB()

MediaWiki\Auth\AuthManagerAuthPlugin::updateExternalDB (   $user)

Update user information in the external authentication database.

Return true if successful.

Deprecated:
since 1.26, use the UserSaveSettings hook instead.
Parameters
User$user
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 149 of file AuthManagerAuthPlugin.php.

References $user.

◆ updateExternalDBGroups()

MediaWiki\Auth\AuthManagerAuthPlugin::updateExternalDBGroups (   $user,
  $addgroups,
  $delgroups = [] 
)

Update user groups in the external authentication database.

Return true if successful.

Deprecated:
since 1.26, use the UserGroupsChanged hook instead.
Parameters
User$user
array$addgroupsGroups to add.
array$delgroupsGroups to remove.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 155 of file AuthManagerAuthPlugin.php.

◆ updateUser()

MediaWiki\Auth\AuthManagerAuthPlugin::updateUser ( $user)

When a user logs in, optionally fill in preferences and such.

For instance, you might pull the email address or real name from the external user database.

The User object is passed by reference so it can be modified; don't forget the & on your function declaration.

Deprecated:
since 1.26, use the UserLoggedIn hook instead. And assigning a different User object to $user is no longer supported.
Parameters
User&$user
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 94 of file AuthManagerAuthPlugin.php.

References $user.

◆ userExists()

MediaWiki\Auth\AuthManagerAuthPlugin::userExists (   $username)

Check whether there exists a user account with the given name.

The name will be normalized to MediaWiki's requirements, so you might need to munge it (for instance, for lowercase initial letters).

Parameters
string$usernameUsername.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 42 of file AuthManagerAuthPlugin.php.

References $name, and MediaWiki\Auth\AuthManager\singleton().

◆ validDomain()

MediaWiki\Auth\AuthManagerAuthPlugin::validDomain (   $domain)

Check to see if the specific domain is a valid domain.

Parameters
string$domainAuthentication domain.
Returns
bool

Reimplemented from AuthPlugin.

Definition at line 89 of file AuthManagerAuthPlugin.php.

References MediaWiki\Auth\AuthManagerAuthPlugin\$domain, and MediaWiki\Auth\AuthManagerAuthPlugin\domainList().

Member Data Documentation

◆ $domain

◆ $logger

LoggerInterface MediaWiki\Auth\AuthManagerAuthPlugin::$logger = null
protected

Definition at line 36 of file AuthManagerAuthPlugin.php.


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