Manual:$wgSessionProviders
Authentication: $wgSessionProviders | |
---|---|
Session provider configuration. |
|
Introduced in version: | 1.27.0 (Gerrit change 243223; git #a73c5b73) |
Removed in version: | Still in use |
Allowed values: | (array of ObjectFactory specifications) |
Default value: | see below |
Other settings: Alphabetical | By function |
Details
editSpecifies what providers to use for SessionManager .
By default, CookieSessionProvider
(for normal cookie-based authentication) and BotPasswordSessionProvider
(for bot passwords) are included.
Order and array keys are not relevant. By convention, the array key is the classname of the provider.
Default values
editMediaWiki version: | ≥ 1.40 |
$wgSessionProviders = [
\MediaWiki\Session\CookieSessionProvider::class => [
'class' => \MediaWiki\Session\CookieSessionProvider::class,
'args' => [ [
'priority' => 30,
] ],
],
\MediaWiki\Session\BotPasswordSessionProvider::class => [
'class' => \MediaWiki\Session\BotPasswordSessionProvider::class,
'args' => [ [
'priority' => 75,
] ],
'services' => [
'GrantsInfo'
],
],
];
MediaWiki version: | 1.39 |
$wgSessionProviders = [
\MediaWiki\Session\CookieSessionProvider::class => [
'class' => \MediaWiki\Session\CookieSessionProvider::class,
'args' => [ [
'priority' => 30,
'callUserSetCookiesHook' => true,
] ],
],
\MediaWiki\Session\BotPasswordSessionProvider::class => [
'class' => \MediaWiki\Session\BotPasswordSessionProvider::class,
'args' => [ [
'priority' => 75,
] ],
'services' => [
'GrantsInfo'
],
],
];
MediaWiki versions: | 1.27 – 1.38 |
$wgSessionProviders = [
MediaWiki\Session\CookieSessionProvider::class => [
'class' => MediaWiki\Session\CookieSessionProvider::class,
'args' => [ [
'priority' => 30,
'callUserSetCookiesHook' => true,
] ],
],
MediaWiki\Session\BotPasswordSessionProvider::class => [
'class' => MediaWiki\Session\BotPasswordSessionProvider::class,
'args' => [ [
'priority' => 75,
] ],
],
];
Example
edit$wgSessionProviders[MyCustomSessionProvider::class] = [
'class' => MyCustomSessionProvider::class,
'args' => [ 'arg1', 'arg2' ],
];
or, if the extension uses extension registration (preferable):
{
//...
"SessionProviders": {
"MyCustomSessionProvider": {
"class": "MyCustomSessionProvider",
"args": [ "arg1", "arg2" ]
},
//...
}
This will create a session provider object with new MyCustomSessionProvider( 'arg1', 'arg2' )
, and register it as one of the session providers.
See ObjectFactory for details of the object construction syntax.