Manual:Hooks/AuthManagerFilterProviders

AuthManagerFilterProviders
Available from version 1.43.0 (Gerrit change 1057413)
Allow disabling authentication providers.
Define function:
public static function onAuthManagerFilterProviders( array &$providers ) { ... }
Attach hook: In extension.json:
{
	"Hooks": {
		"AuthManagerFilterProviders": "MediaWiki\\Extension\\MyExtension\\Hooks::onAuthManagerFilterProviders"
	}
}
Called from: File(s): auth/AuthManager.php
Interface: AuthManagerFilterProvidersHook.php

For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:AuthManagerFilterProviders extensions.


Details

edit

Filter the list of authentication available providers. Providers removed from the list will be disabled for the current request, and any authentication process started from the current request.

Hook handlers don't have to always return the same result for the given configuration (can depend on the request, e.g. feature flags) but they do have to be consistent within an authentication process that spans multiple requests.

Parameters:

  • &$providers: An array with three sub-arrays: preauth, primaryauth, secondaryauth. Each field in the subarrays is a map of <provider key> => true. (The provider key is the same array key that's used in $wgAuthManagerAutoConfig or $wgAuthManagerConfig ). Unsetting a field or setting its value to falsy disables the corresponding provider.