Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1426314
AbstractAuthenticationProvider.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
AbstractAuthenticationProvider.php
View Options
<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Auth
*/
namespace
MediaWiki\Auth
;
use
MediaWiki\Config\Config
;
use
MediaWiki\HookContainer\HookContainer
;
use
MediaWiki\HookContainer\HookRunner
;
use
MediaWiki\User\UserNameUtils
;
use
Psr\Log\LoggerInterface
;
/**
* A base class that implements some of the boilerplate for an AuthenticationProvider
* @stable to extend
* @ingroup Auth
* @since 1.27
*/
abstract
class
AbstractAuthenticationProvider
implements
AuthenticationProvider
{
/** @var LoggerInterface */
protected
$logger
;
/** @var AuthManager */
protected
$manager
;
/** @var Config */
protected
$config
;
/** @var HookContainer */
private
$hookContainer
;
/** @var HookRunner */
private
$hookRunner
;
/** @var UserNameUtils */
protected
$userNameUtils
;
/**
* Initialise with dependencies of an AuthenticationProvider
*
* @since 1.37
* @internal In production code AuthManager will initialize the
* AbstractAuthenticationProvider, in tests
* AuthenticationProviderTestTrait must be used.
*
* @param LoggerInterface $logger
* @param AuthManager $manager
* @param HookContainer $hookContainer
* @param Config $config
* @param UserNameUtils $userNameUtils
*/
public
function
init
(
LoggerInterface
$logger
,
AuthManager
$manager
,
HookContainer
$hookContainer
,
Config
$config
,
UserNameUtils
$userNameUtils
)
{
$this
->
logger
=
$logger
;
$this
->
manager
=
$manager
;
$this
->
hookContainer
=
$hookContainer
;
$this
->
hookRunner
=
new
HookRunner
(
$hookContainer
);
$this
->
config
=
$config
;
$this
->
userNameUtils
=
$userNameUtils
;
$this
->
postInitSetup
();
}
/**
* A provider can override this to do any necessary setup after init()
* is called.
*
* @since 1.37
* @stable to override
*/
protected
function
postInitSetup
()
{
}
/**
* @inheritDoc
* @note Override this if it makes sense to support more than one instance
*/
public
function
getUniqueId
()
{
return
static
::
class
;
}
/**
* @since 1.35
* @return HookContainer
*/
protected
function
getHookContainer
():
HookContainer
{
return
$this
->
hookContainer
;
}
/**
* @internal This is for use by core only. Hook interfaces may be removed
* without notice.
* @since 1.35
* @return HookRunner
*/
protected
function
getHookRunner
():
HookRunner
{
return
$this
->
hookRunner
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 13:01 (1 d, 15 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
7b/b8/b1b3ec26bd4c28441fcfbe969334
Default Alt Text
AbstractAuthenticationProvider.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment