Browse Source

Merge pull request #33485 from nextcloud/bugfix/noid/authtoken-duplicate-update

Do not update passwords if nothing changed
Julius Härtl 1 year ago
parent
commit
7992a3ef50
1 changed files with 6 additions and 3 deletions
  1. 6 3
      lib/private/Authentication/Token/PublicKeyTokenProvider.php

+ 6 - 3
lib/private/Authentication/Token/PublicKeyTokenProvider.php

@@ -409,9 +409,12 @@ class PublicKeyTokenProvider implements IProvider {
 		$tokens = $this->mapper->getTokenByUser($uid);
 		foreach ($tokens as $t) {
 			$publicKey = $t->getPublicKey();
-			$t->setPassword($this->encryptPassword($password, $publicKey));
-			$t->setPasswordInvalid(false);
-			$this->updateToken($t);
+			$encryptedPassword = $this->encryptPassword($password, $publicKey);
+			if ($t->getPassword() !== $encryptedPassword) {
+				$t->setPassword($encryptedPassword);
+				$t->setPasswordInvalid(false);
+				$this->updateToken($t);
+			}
 		}
 	}