aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard Steinmetz <richard@steinmetz.cloud>2024-11-13 10:47:20 +0100
committerGitHub <noreply@github.com>2024-11-13 10:47:20 +0100
commit442d036ac9867b7de7d7ec2d441489d7df7920d6 (patch)
treeea1f04d1c7b737668de3988c28281946d4505038 /lib
parent56ce5d03bd181966a5987488c0f30bc59daf9de3 (diff)
parentfcefd37a5f7e24208a115214660d419cbdeae7f3 (diff)
downloadnextcloud-server-442d036ac9867b7de7d7ec2d441489d7df7920d6.tar.gz
nextcloud-server-442d036ac9867b7de7d7ec2d441489d7df7920d6.zip
Merge pull request #49098 from nextcloud/backport/48933/stable30
[stable30] Clear pending two factor tokens also from configuration
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Authentication/TwoFactorAuth/Manager.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/Authentication/TwoFactorAuth/Manager.php b/lib/private/Authentication/TwoFactorAuth/Manager.php
index 2585646c998..39d886132dd 100644
--- a/lib/private/Authentication/TwoFactorAuth/Manager.php
+++ b/lib/private/Authentication/TwoFactorAuth/Manager.php
@@ -12,6 +12,7 @@ use BadMethodCallException;
use Exception;
use OC\Authentication\Token\IProvider as TokenProvider;
use OCP\Activity\IManager;
+use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Authentication\Exceptions\InvalidTokenException;
use OCP\Authentication\TwoFactorAuth\IActivatableAtLogin;
@@ -366,7 +367,12 @@ class Manager {
$tokensNeeding2FA = $this->config->getUserKeys($userId, 'login_token_2fa');
foreach ($tokensNeeding2FA as $tokenId) {
- $this->tokenProvider->invalidateTokenById($userId, (int)$tokenId);
+ $this->config->deleteUserValue($userId, 'login_token_2fa', $tokenId);
+
+ try {
+ $this->tokenProvider->invalidateTokenById($userId, (int)$tokenId);
+ } catch (DoesNotExistException $e) {
+ }
}
}
}