diff options
author | Gergő Tisza <tgr.huwiki@gmail.com> | 2016-04-01 19:49:26 +0300 |
---|---|---|
committer | Gergő Tisza <gtisza@wikimedia.org> | 2016-08-09 23:00:27 +0000 |
commit | 854a462dc0aef59e1c26c057792b8a9214449af5 (patch) | |
tree | 32fdbf485ba437b4f9469314b2d7d9e6f91cb598 /includes/api/ApiLogin.php | |
parent | c6532a11a81538439cda8b34e53224e7a7bb2a1f (diff) | |
download | mediawikicore-854a462dc0aef59e1c26c057792b8a9214449af5.tar.gz mediawikicore-854a462dc0aef59e1c26c057792b8a9214449af5.zip |
Remove $wgDisableAuthManager
Change-Id: I2b2c9693a275fcc026916bd97f303e7a5c8df341
Diffstat (limited to 'includes/api/ApiLogin.php')
-rw-r--r-- | includes/api/ApiLogin.php | 179 |
1 files changed, 42 insertions, 137 deletions
diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php index 0e4c6e0c8434..b9f65b370f61 100644 --- a/includes/api/ApiLogin.php +++ b/includes/api/ApiLogin.php @@ -42,9 +42,7 @@ class ApiLogin extends ApiBase { } protected function getDescriptionMessage() { - if ( $this->getConfig()->get( 'DisableAuthManager' ) ) { - return 'apihelp-login-description-nonauthmanager'; - } elseif ( $this->getConfig()->get( 'EnableBotPasswords' ) ) { + if ( $this->getConfig()->get( 'EnableBotPasswords' ) ) { return 'apihelp-login-description'; } else { return 'apihelp-login-description-nobotpasswords'; @@ -124,85 +122,52 @@ class ApiLogin extends ApiBase { } if ( $authRes === false ) { - if ( $this->getConfig()->get( 'DisableAuthManager' ) ) { - // Non-AuthManager login - $context->setRequest( new DerivativeRequest( - $this->getContext()->getRequest(), - [ - 'wpName' => $params['name'], - 'wpPassword' => $params['password'], - 'wpDomain' => $params['domain'], - 'wpLoginToken' => $params['token'], - 'wpRemember' => '' - ] - ) ); - $loginForm = new LoginForm(); - $loginForm->setContext( $context ); - $authRes = $loginForm->authenticateUserData(); - $loginType = 'LoginForm'; - - switch ( $authRes ) { - case LoginForm::SUCCESS: - $authRes = 'Success'; - break; - case LoginForm::NEED_TOKEN: - $authRes = 'NeedToken'; - break; - } - } else { - // Simplified AuthManager login, for backwards compatibility - $manager = AuthManager::singleton(); - $reqs = AuthenticationRequest::loadRequestsFromSubmission( - $manager->getAuthenticationRequests( AuthManager::ACTION_LOGIN, $this->getUser() ), - [ - 'username' => $params['name'], - 'password' => $params['password'], - 'domain' => $params['domain'], - 'rememberMe' => true, - ] - ); - $res = AuthManager::singleton()->beginAuthentication( $reqs, 'null:' ); - switch ( $res->status ) { - case AuthenticationResponse::PASS: - if ( $this->getConfig()->get( 'EnableBotPasswords' ) ) { - $warn = 'Main-account login via action=login is deprecated and may stop working ' . - 'without warning.'; - $warn .= ' To continue login with action=login, see [[Special:BotPasswords]].'; - $warn .= ' To safely continue using main-account login, see action=clientlogin.'; - } else { - $warn = 'Login via action=login is deprecated and may stop working without warning.'; - $warn .= ' To safely log in, see action=clientlogin.'; - } - $this->setWarning( $warn ); - $authRes = 'Success'; - $loginType = 'AuthManager'; - break; - - case AuthenticationResponse::FAIL: - // Hope it's not a PreAuthenticationProvider that failed... - $authRes = 'Failed'; - $message = $res->message; - \MediaWiki\Logger\LoggerFactory::getInstance( 'authentication' ) - ->info( __METHOD__ . ': Authentication failed: ' . $message->plain() ); - break; - - default: - $authRes = 'Aborted'; - break; - } + // Simplified AuthManager login, for backwards compatibility + $manager = AuthManager::singleton(); + $reqs = AuthenticationRequest::loadRequestsFromSubmission( + $manager->getAuthenticationRequests( AuthManager::ACTION_LOGIN, $this->getUser() ), + [ + 'username' => $params['name'], + 'password' => $params['password'], + 'domain' => $params['domain'], + 'rememberMe' => true, + ] + ); + $res = AuthManager::singleton()->beginAuthentication( $reqs, 'null:' ); + switch ( $res->status ) { + case AuthenticationResponse::PASS: + if ( $this->getConfig()->get( 'EnableBotPasswords' ) ) { + $warn = 'Main-account login via action=login is deprecated and may stop working ' . + 'without warning.'; + $warn .= ' To continue login with action=login, see [[Special:BotPasswords]].'; + $warn .= ' To safely continue using main-account login, see action=clientlogin.'; + } else { + $warn = 'Login via action=login is deprecated and may stop working without warning.'; + $warn .= ' To safely log in, see action=clientlogin.'; + } + $this->setWarning( $warn ); + $authRes = 'Success'; + $loginType = 'AuthManager'; + break; + + case AuthenticationResponse::FAIL: + // Hope it's not a PreAuthenticationProvider that failed... + $authRes = 'Failed'; + $message = $res->message; + \MediaWiki\Logger\LoggerFactory::getInstance( 'authentication' ) + ->info( __METHOD__ . ': Authentication failed: ' . $message->plain() ); + break; + + default: + $authRes = 'Aborted'; + break; } } $result['result'] = $authRes; switch ( $authRes ) { case 'Success': - if ( $this->getConfig()->get( 'DisableAuthManager' ) ) { - $user = $context->getUser(); - $this->getContext()->setUser( $user ); - $user->setCookies( $this->getRequest(), null, true ); - } else { - $user = $session->getUser(); - } + $user = $session->getUser(); ApiQueryInfo::resetTokenCache(); @@ -252,65 +217,6 @@ class ApiLogin extends ApiBase { } break; - // Results from LoginForm for when $wgDisableAuthManager is true - case LoginForm::WRONG_TOKEN: - $result['result'] = 'WrongToken'; - break; - - case LoginForm::NO_NAME: - $result['result'] = 'NoName'; - break; - - case LoginForm::ILLEGAL: - $result['result'] = 'Illegal'; - break; - - case LoginForm::WRONG_PLUGIN_PASS: - $result['result'] = 'WrongPluginPass'; - break; - - case LoginForm::NOT_EXISTS: - $result['result'] = 'NotExists'; - break; - - // bug 20223 - Treat a temporary password as wrong. Per SpecialUserLogin: - // The e-mailed temporary password should not be used for actual logins. - case LoginForm::RESET_PASS: - case LoginForm::WRONG_PASS: - $result['result'] = 'WrongPass'; - break; - - case LoginForm::EMPTY_PASS: - $result['result'] = 'EmptyPass'; - break; - - case LoginForm::CREATE_BLOCKED: - $result['result'] = 'CreateBlocked'; - $result['details'] = 'Your IP address is blocked from account creation'; - $block = $context->getUser()->getBlock(); - if ( $block ) { - $result = array_merge( $result, ApiQueryUserInfo::getBlockInfo( $block ) ); - } - break; - - case LoginForm::THROTTLED: - $result['result'] = 'Throttled'; - $result['wait'] = intval( $loginForm->mThrottleWait ); - break; - - case LoginForm::USER_BLOCKED: - $result['result'] = 'Blocked'; - $block = User::newFromName( $params['name'] )->getBlock(); - if ( $block ) { - $result = array_merge( $result, ApiQueryUserInfo::getBlockInfo( $block ) ); - } - break; - - case LoginForm::ABORTED: - $result['result'] = 'Aborted'; - $result['reason'] = $loginForm->mAbortLoginErrorMsg; - break; - default: ApiBase::dieDebug( __METHOD__, "Unhandled case value: {$authRes}" ); } @@ -329,8 +235,7 @@ class ApiLogin extends ApiBase { } public function isDeprecated() { - return !$this->getConfig()->get( 'DisableAuthManager' ) && - !$this->getConfig()->get( 'EnableBotPasswords' ); + return !$this->getConfig()->get( 'EnableBotPasswords' ); } public function mustBePosted() { |