Improve provider check

Check if there is a provider missing.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
This commit is contained in:
Lukas Reschke 2021-07-21 09:58:17 +02:00
parent c8778d83fb
commit 04fa36d411

View file

@ -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') {