A hash with three keys, each key a list of ObjectFactory specifications:
['preauth'=>[/* list of pre-authentication providers */],'primaryauth'=>[/* list of primary authentication providers */],'secondaryauth'=>[/* list of secondary authentication providers */],]
Beyond the usual ObjectFactory parameters, a special sort parameter is also recognized; this will determine the effective order of the providers (defaults to 0; smaller first; sorting is stable).
The convention is to use the provider's class name as its array key (as a convenience for site admins wanting to change it; AuthManager ignores array keys).
This will create a pre-authentication provider object with new MyPreAuthenticationProvider( 'arg1', 'arg2' ), and register it as one of the authentication providers.
Default value
<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar name=1>1.41</tvar></translate>">
<translate> ≥</translate> 1.41
<translate> MediaWiki version:</translate>
$wgAuthManagerAutoConfig=['preauth'=>[\MediaWiki\Auth\ThrottlePreAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\ThrottlePreAuthenticationProvider::class,'sort'=>0,],],'primaryauth'=>[// TemporaryPasswordPrimaryAuthenticationProvider should come before any other PasswordAuthenticationRequest-based PrimaryAuthenticationProvider (or at least any that might return FAIL rather than ABSTAIN for a wrong password), or password reset won't work right.// Do not remove this (or change the key) or auto-configuration of other such providers in extensions will probably auto-insert themselves in the wrong place.\MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancerFactory',],'args'=>[[// Fall through to LocalPasswordPrimaryAuthenticationProvider'authoritative'=>false,]],'sort'=>0,],\MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancerFactory',],'args'=>[[// Last one should be authoritative, or else the user will get a less-than-helpful error message (something like "supplied authentication info not supported" rather than "wrong password") if it too fails.'authoritative'=>true,]],'sort'=>100,],],'secondaryauth'=>[\MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class,'sort'=>0,],\MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class,'sort'=>100,],// Linking during login is experimental, enable at your own risk - T134952// \MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class => [// 'class' => \MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class,// 'sort' => 100,// ],\MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class,'services'=>['DBLoadBalancerFactory',],'sort'=>200,],],];
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.40</tvar> is legacy version</translate>">
1.39 – 1.40
<translate> MediaWiki versions:</translate>
$wgAuthManagerAutoConfig=['preauth'=>[\MediaWiki\Auth\ThrottlePreAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\ThrottlePreAuthenticationProvider::class,'sort'=>0,],],'primaryauth'=>[// TemporaryPasswordPrimaryAuthenticationProvider should come before// any other PasswordAuthenticationRequest-based// PrimaryAuthenticationProvider (or at least any that might return// FAIL rather than ABSTAIN for a wrong password), or password reset// won't work right. Do not remove this (or change the key) or// auto-configuration of other such providers in extensions will// probably auto-insert themselves in the wrong place.\MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'args'=>[[// Fall through to LocalPasswordPrimaryAuthenticationProvider'authoritative'=>false,]],'sort'=>0,],\MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'args'=>[[// Last one should be authoritative, or else the user will get// a less-than-helpful error message (something like "supplied// authentication info not supported" rather than "wrong// password") if it too fails.'authoritative'=>true,]],'sort'=>100,],],'secondaryauth'=>[\MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class,'sort'=>0,],\MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class,'sort'=>100,],// Linking during login is experimental, enable at your own risk - T134952// \MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class => [// 'class' => \MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class,// 'sort' => 100,// ],\MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class=>['class'=>\MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'sort'=>200,],],];
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.38</tvar> is unsupported version</translate>">
1.37 – 1.38
<translate> MediaWiki versions:</translate>
$wgAuthManagerAutoConfig=['preauth'=>[MediaWiki\Auth\ThrottlePreAuthenticationProvider::class=>['class'=>MediaWiki\Auth\ThrottlePreAuthenticationProvider::class,'sort'=>0,],],'primaryauth'=>[// TemporaryPasswordPrimaryAuthenticationProvider should come before// any other PasswordAuthenticationRequest-based// PrimaryAuthenticationProvider (or at least any that might return// FAIL rather than ABSTAIN for a wrong password), or password reset// won't work right. Do not remove this (or change the key) or// auto-configuration of other such providers in extensions will// probably auto-insert themselves in the wrong place.MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class=>['class'=>MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'args'=>[[// Fall through to LocalPasswordPrimaryAuthenticationProvider'authoritative'=>false,]],'sort'=>0,],MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class=>['class'=>MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'args'=>[[// Last one should be authoritative, or else the user will get// a less-than-helpful error message (something like "supplied// authentication info not supported" rather than "wrong// password") if it too fails.'authoritative'=>true,]],'sort'=>100,],],'secondaryauth'=>[MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class=>['class'=>MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider::class,'sort'=>0,],MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class=>['class'=>MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider::class,'sort'=>100,],// Linking during login is experimental, enable at your own risk - T134952// MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class => [// 'class' => MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class,// 'sort' => 100,// ],MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class=>['class'=>MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class,'services'=>['DBLoadBalancer',],'sort'=>200,],],];
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.36</tvar> is unsupported version</translate>">