diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php index 82e001fa2d151be22f475e839376da6151c8ade7..de19898bf8abd1ec3293ac5cd66acb340572f4c2 100644 --- a/lib/SimpleSAML/IdP.php +++ b/lib/SimpleSAML/IdP.php @@ -380,7 +380,7 @@ class SimpleSAML_IdP { /* Force authentication is in effect. */ $needAuth = TRUE; } elseif (isset($state['saml:IDPList']) && sizeof($state['saml:IDPList']) > 0) { - $needAuth = TRUE; + $needAuth = !in_array($this->authSource->getAuthData('saml:sp:IdP'), $state['saml:IDPList'], TRUE); } else { $needAuth = !$this->isAuthenticated(); }