diff options
author | Richard Steinmetz <richard@steinmetz.cloud> | 2024-11-13 10:47:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-13 10:47:20 +0100 |
commit | 442d036ac9867b7de7d7ec2d441489d7df7920d6 (patch) | |
tree | ea1f04d1c7b737668de3988c28281946d4505038 /lib | |
parent | 56ce5d03bd181966a5987488c0f30bc59daf9de3 (diff) | |
parent | fcefd37a5f7e24208a115214660d419cbdeae7f3 (diff) | |
download | nextcloud-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.php | 8 |
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) { + } } } } |