From fd666afbb00e41fccdd1c0e5369138956a3462cd Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Tue, 31 Mar 2020 20:51:49 +0200 Subject: [PATCH] Use MediaWikiServices::getAuthManager instead of AuthManager::singleton Change-Id: I92c31b963095eab751df9f8c1715e8e23b7e8485 --- includes/ServiceWiring.php | 4 ++-- includes/Setup.php | 2 +- includes/skins/SkinTemplate.php | 6 +++--- includes/user/User.php | 10 +++++----- maintenance/createAndPromote.php | 4 +++- maintenance/resetAuthenticationThrottle.php | 5 +++-- .../auth/AbstractAuthenticationProviderTest.php | 3 ++- .../CheckBlocksSecondaryAuthenticationProviderTest.php | 5 +++-- .../auth/ThrottlePreAuthenticationProviderTest.php | 10 +++++----- .../preferences/DefaultPreferencesFactoryTest.php | 3 +-- 10 files changed, 28 insertions(+), 24 deletions(-) diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 2a9320d97e8..2503d71915e 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -867,7 +867,7 @@ return [ $options = new ServiceOptions( PasswordReset::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ); return new PasswordReset( $options, - AuthManager::singleton(), + $services->getAuthManager(), $services->getPermissionManager(), $services->getDBLoadBalancer(), LoggerFactory::getInstance( 'authentication' ), @@ -903,7 +903,7 @@ return [ new ServiceOptions( DefaultPreferencesFactory::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ), $services->getContentLanguage(), - AuthManager::singleton(), + $services->getAuthManager(), $services->getLinkRendererFactory()->create(), $services->getNamespaceInfo(), $services->getPermissionManager(), diff --git a/includes/Setup.php b/includes/Setup.php index 6cbcae2c70a..c80bd93f4b5 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -811,7 +811,7 @@ foreach ( $wgExtensionFunctions as $func ) { if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) { $sessionUser = MediaWiki\Session\SessionManager::getGlobalSession()->getUser(); if ( $sessionUser->getId() === 0 && User::isValidUserName( $sessionUser->getName() ) ) { - $res = MediaWiki\Auth\AuthManager::singleton()->autoCreateUser( + $res = MediaWikiServices::getInstance()->getAuthManager()->autoCreateUser( $sessionUser, MediaWiki\Auth\AuthManager::AUTOCREATE_SOURCE_SESSION, true diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php index 5d82edb3078..a7db579bbb7 100644 --- a/includes/skins/SkinTemplate.php +++ b/includes/skins/SkinTemplate.php @@ -18,7 +18,6 @@ * @file */ -use MediaWiki\Auth\AuthManager; use MediaWiki\MediaWikiServices; /** @@ -530,8 +529,9 @@ class SkinTemplate extends Skin { $title = $this->getTitle(); $request = $this->getRequest(); $pageurl = $title->getLocalURL(); - $authManager = AuthManager::singleton(); - $permissionManager = MediaWikiServices::getInstance()->getPermissionManager(); + $services = MediaWikiServices::getInstance(); + $authManager = $services->getAuthManager(); + $permissionManager = $services->getPermissionManager(); /* set up the default links for the personal toolbar */ $personal_urls = []; diff --git a/includes/user/User.php b/includes/user/User.php index 20658fcf6d8..53480b0d7bf 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -837,7 +837,7 @@ class User implements IDBAccessObject, UserIdentity { return null; } - AuthManager::singleton()->revokeAccessForUser( $name ); + MediaWikiServices::getInstance()->getAuthManager()->revokeAccessForUser( $name ); $user->invalidateEmail(); $user->mToken = self::INVALID_TOKEN; @@ -2441,7 +2441,7 @@ class User implements IDBAccessObject, UserIdentity { * @return bool Success */ private function setPasswordInternal( $str ) { - $manager = AuthManager::singleton(); + $manager = MediaWikiServices::getInstance()->getAuthManager(); // If the user doesn't exist yet, fail if ( !$manager->userExists( $this->getName() ) ) { @@ -2479,7 +2479,7 @@ class User implements IDBAccessObject, UserIdentity { * @since 1.27 */ public function changeAuthenticationData( array $data ) { - $manager = AuthManager::singleton(); + $manager = MediaWikiServices::getInstance()->getAuthManager(); $reqs = $manager->getAuthenticationRequests( AuthManager::ACTION_CHANGE, $this ); $reqs = AuthenticationRequest::loadRequestsFromSubmission( $reqs, $data ); @@ -3133,7 +3133,7 @@ class User implements IDBAccessObject, UserIdentity { public function isSystemUser() { $this->load(); if ( $this->mEmail || $this->mToken !== self::INVALID_TOKEN || - AuthManager::singleton()->userCanAuthenticate( $this->mName ) + MediaWikiServices::getInstance()->getAuthManager()->userCanAuthenticate( $this->mName ) ) { return false; } @@ -3851,7 +3851,7 @@ class User implements IDBAccessObject, UserIdentity { public function checkPassword( $password ) { wfDeprecated( __METHOD__, '1.27' ); - $manager = AuthManager::singleton(); + $manager = MediaWikiServices::getInstance()->getAuthManager(); $reqs = AuthenticationRequest::loadRequestsFromSubmission( $manager->getAuthenticationRequests( AuthManager::ACTION_LOGIN ), [ diff --git a/maintenance/createAndPromote.php b/maintenance/createAndPromote.php index 1ed0926385c..c403c6eae0d 100644 --- a/maintenance/createAndPromote.php +++ b/maintenance/createAndPromote.php @@ -25,6 +25,8 @@ require_once __DIR__ . '/Maintenance.php'; +use MediaWiki\MediaWikiServices; + /** * Maintenance script to create an account and grant it rights. * @@ -115,7 +117,7 @@ class CreateAndPromote extends Maintenance { if ( !$exists ) { // Create the user via AuthManager as there may be various side // effects that are performed by the configured AuthManager chain. - $status = MediaWiki\Auth\AuthManager::singleton()->autoCreateUser( + $status = MediaWikiServices::getInstance()->getAuthManager()->autoCreateUser( $user, MediaWiki\Auth\AuthManager::AUTOCREATE_SOURCE_MAINT, false diff --git a/maintenance/resetAuthenticationThrottle.php b/maintenance/resetAuthenticationThrottle.php index 0e444fda317..407d49a8e03 100644 --- a/maintenance/resetAuthenticationThrottle.php +++ b/maintenance/resetAuthenticationThrottle.php @@ -21,9 +21,9 @@ * @ingroup Maintenance */ -use MediaWiki\Auth\AuthManager; use MediaWiki\Auth\Throttler; use MediaWiki\Logger\LoggerFactory; +use MediaWiki\MediaWikiServices; use Wikimedia\IPUtils; require_once __DIR__ . '/Maintenance.php'; @@ -100,7 +100,8 @@ class ResetAuthenticationThrottle extends Maintenance { 'cache' => ObjectCache::getLocalClusterInstance(), ] ); if ( $rawUsername !== null ) { - $usernames = AuthManager::singleton()->normalizeUsername( $rawUsername ); + $usernames = MediaWikiServices::getInstance()->getAuthManager() + ->normalizeUsername( $rawUsername ); if ( !$usernames ) { $this->fatalError( "Not a valid username: $rawUsername" ); } diff --git a/tests/phpunit/includes/auth/AbstractAuthenticationProviderTest.php b/tests/phpunit/includes/auth/AbstractAuthenticationProviderTest.php index 4acc2a50f7c..350e24c99fb 100644 --- a/tests/phpunit/includes/auth/AbstractAuthenticationProviderTest.php +++ b/tests/phpunit/includes/auth/AbstractAuthenticationProviderTest.php @@ -2,6 +2,7 @@ namespace MediaWiki\Auth; +use MediaWiki\MediaWikiServices; use Wikimedia\TestingAccessWrapper; /** @@ -17,7 +18,7 @@ class AbstractAuthenticationProviderTest extends \MediaWikiTestCase { $provider->setLogger( $obj ); $this->assertSame( $obj, $providerPriv->logger, 'setLogger' ); - $obj = AuthManager::singleton(); + $obj = MediaWikiServices::getInstance()->getAuthManager(); $provider->setManager( $obj ); $this->assertSame( $obj, $providerPriv->manager, 'setManager' ); diff --git a/tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php b/tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php index 9054625a00f..6db6fdcbf81 100644 --- a/tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php +++ b/tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php @@ -3,6 +3,7 @@ namespace MediaWiki\Auth; use MediaWiki\Block\DatabaseBlock; +use MediaWiki\MediaWikiServices; use Wikimedia\TestingAccessWrapper; /** @@ -120,7 +121,7 @@ class CheckBlocksSecondaryAuthenticationProviderTest extends \MediaWikiTestCase ); $provider->setLogger( new \Psr\Log\NullLogger() ); $provider->setConfig( new \HashConfig() ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $unblockedUser = \User::newFromName( 'UTSysop' ); $blockedUser = $this->getBlockedUser(); @@ -175,7 +176,7 @@ class CheckBlocksSecondaryAuthenticationProviderTest extends \MediaWikiTestCase ); $provider->setLogger( new \Psr\Log\NullLogger() ); $provider->setConfig( new \HashConfig() ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $ret = $provider->beginSecondaryAuthentication( $user, [] ); $this->assertEquals( AuthenticationResponse::FAIL, $ret->status ); diff --git a/tests/phpunit/includes/auth/ThrottlePreAuthenticationProviderTest.php b/tests/phpunit/includes/auth/ThrottlePreAuthenticationProviderTest.php index a053fce797d..619183dd6c4 100644 --- a/tests/phpunit/includes/auth/ThrottlePreAuthenticationProviderTest.php +++ b/tests/phpunit/includes/auth/ThrottlePreAuthenticationProviderTest.php @@ -86,7 +86,7 @@ class ThrottlePreAuthenticationProviderTest extends \MediaWikiTestCase { 'AccountCreationThrottle' => null, 'PasswordAttemptThrottle' => null, ] ) ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $this->assertEquals( \StatusValue::newGood(), @@ -118,7 +118,7 @@ class ThrottlePreAuthenticationProviderTest extends \MediaWikiTestCase { 'AccountCreationThrottle' => null, 'PasswordAttemptThrottle' => null, ] ) ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $provider->setHookContainer( MediaWikiServices::getInstance()->getHookContainer() ); $user = \User::newFromName( 'RandomUser' ); @@ -169,7 +169,7 @@ class ThrottlePreAuthenticationProviderTest extends \MediaWikiTestCase { 'AccountCreationThrottle' => null, 'PasswordAttemptThrottle' => null, ] ) ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $req = new UsernameAuthenticationRequest; $req->username = 'SomeUser'; @@ -215,7 +215,7 @@ class ThrottlePreAuthenticationProviderTest extends \MediaWikiTestCase { 'AccountCreationThrottle' => null, 'PasswordAttemptThrottle' => null, ] ) ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $provider->postAuthentication( \User::newFromName( 'SomeUser' ), AuthenticationResponse::newPass() ); @@ -229,7 +229,7 @@ class ThrottlePreAuthenticationProviderTest extends \MediaWikiTestCase { 'AccountCreationThrottle' => null, 'PasswordAttemptThrottle' => null, ] ) ); - $provider->setManager( AuthManager::singleton() ); + $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() ); $provider->postAuthentication( \User::newFromName( 'SomeUser' ), AuthenticationResponse::newPass() ); $this->assertSame( [ diff --git a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php index 91e57b667b1..478b626b795 100644 --- a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php +++ b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php @@ -1,6 +1,5 @@ config ), $language, - AuthManager::singleton(), + $services->getAuthManager(), $services->getLinkRenderer(), $mockNsInfo, $mockPM,