From 04fa36d4115da47f95f5d61ebf20bf448fa8109d Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Wed, 21 Jul 2021 09:58:17 +0200 Subject: Improve provider check Check if there is a provider missing. Signed-off-by: Lukas Reschke --- core/Middleware/TwoFactorMiddleware.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/Middleware/TwoFactorMiddleware.php') diff --git a/core/Middleware/TwoFactorMiddleware.php b/core/Middleware/TwoFactorMiddleware.php index 0ba8be135f9..330a9258d90 100644 --- a/core/Middleware/TwoFactorMiddleware.php +++ b/core/Middleware/TwoFactorMiddleware.php @@ -100,7 +100,11 @@ class TwoFactorMiddleware extends Middleware { if ($controller instanceof ALoginSetupController && $this->userSession->getUser() !== null && $this->twoFactorManager->needsSecondFactor($this->userSession->getUser())) { - return; + $providers = $this->twoFactorManager->getProviderSet($this->userSession->getUser()); + + if ($providers->getProviders() === [] && !$providers->isProviderMissing()) { + return; + } } if ($controller instanceof LoginController && $methodName === 'logout') { -- cgit v1.2.3