Page MenuHomePhorge

No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None
diff --git a/includes/auth/AuthManager.php b/includes/auth/AuthManager.php
index 4e575837410..eac9d914816 100644
--- a/includes/auth/AuthManager.php
+++ b/includes/auth/AuthManager.php
@@ -1937,7 +1937,7 @@ class AuthManager implements LoggerAwareInterface {
$user->loadFromId( IDBAccessObject::READ_LATEST );
if ( $login ) {
$remember = $source === self::AUTOCREATE_SOURCE_TEMP;
- $this->setSessionDataForUser( $user, $remember );
+ $this->setSessionDataForUser( $user, $remember, false );
}
return Status::newGood()->warning( 'userexists' );
}
@@ -2097,7 +2097,7 @@ class AuthManager implements LoggerAwareInterface {
] );
if ( $login ) {
$remember = $source === self::AUTOCREATE_SOURCE_TEMP;
- $this->setSessionDataForUser( $user, $remember );
+ $this->setSessionDataForUser( $user, $remember, false );
}
$status = Status::newGood()->warning( 'userexists' );
} else {
@@ -2155,7 +2155,7 @@ class AuthManager implements LoggerAwareInterface {
if ( $login ) {
$remember = $source === self::AUTOCREATE_SOURCE_TEMP;
- $this->setSessionDataForUser( $user, $remember );
+ $this->setSessionDataForUser( $user, $remember, false );
}
$retStatus = Status::newGood();
$this->logAutocreationAttempt( $retStatus, $user, $source, $login );
@@ -2839,9 +2839,11 @@ class AuthManager implements LoggerAwareInterface {
/**
* Log the user in
* @param User $user
- * @param bool|null $remember
+ * @param bool|null $remember The "remember me" flag.
+ * @param bool $isReauthentication Whether creating this session should count as a recent
+ * authentication for $wgReauthenticateTime checks.
*/
- private function setSessionDataForUser( $user, $remember = null ) {
+ private function setSessionDataForUser( $user, $remember = null, $isReauthentication = true ) {
$session = $this->request->getSession();
$delay = $session->delaySave();
@@ -2853,8 +2855,10 @@ class AuthManager implements LoggerAwareInterface {
if ( $remember !== null ) {
$session->setRememberUser( $remember );
}
- $session->set( 'AuthManager:lastAuthId', $user->getId() );
- $session->set( 'AuthManager:lastAuthTimestamp', time() );
+ if ( $isReauthentication ) {
+ $session->set( 'AuthManager:lastAuthId', $user->getId() );
+ $session->set( 'AuthManager:lastAuthTimestamp', time() );
+ }
$session->persist();
\Wikimedia\ScopedCallback::consume( $delay );

File Metadata

Mime Type
text/x-diff
Expires
Sat, Jul 5, 5:33 AM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
227866
Default Alt Text
(2 KB)

Event Timeline