Reset all tokens on login
authorChad Horohoe <chadh@wikimedia.org>
Tue, 31 May 2016 19:20:05 +0000 (12:20 -0700)
committerChad Horohoe <chadh@wikimedia.org>
Tue, 31 May 2016 19:20:05 +0000 (12:20 -0700)
Bug: T122056
Change-Id: I03739e942b6c182ed9cbcd0d9615dcd799e8baed

includes/auth/AuthManager.php
includes/specials/pre-authmanager/SpecialUserlogin.php
includes/user/User.php

index 136ce26..69f51b8 100644 (file)
@@ -2288,6 +2288,7 @@ class AuthManager implements LoggerAwareInterface {
                $delay = $session->delaySave();
 
                $session->resetId();
+               $session->resetAllTokens();
                if ( $session->canSetUser() ) {
                        $session->setUser( $user );
                }
index e745129..8935a49 100644 (file)
@@ -1718,6 +1718,7 @@ class LoginFormPreAuthManager extends SpecialPage {
                }
 
                SessionManager::getGlobalSession()->resetId();
+               SessionManager::getGlobalSession()->resetAllTokens();
        }
 
        /**
index 70adc32..ff3171e 100644 (file)
@@ -3904,6 +3904,7 @@ class User implements IDBAccessObject {
                        $session->setLoggedOutTimestamp( time() );
                        $session->setUser( new User );
                        $session->set( 'wsUserID', 0 ); // Other code expects this
+                       $session->resetAllTokens();
                        ScopedCallback::consume( $delay );
                        $error = false;
                }