Skip to content

Commit fd50471

Browse files
committed
Fix old use of comparison-enumeration
1 parent 4dae976 commit fd50471

2 files changed

Lines changed: 14 additions & 18 deletions

File tree

modules/saml/src/Auth/Source/SP.php

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
use SimpleSAML\SAML2\Exception\Protocol\NoSupportedIDPException;
2424
use SimpleSAML\SAML2\Exception\Protocol\ProtocolViolationException;
2525
use SimpleSAML\SAML2\Exception\Protocol\ProxyCountExceededException;
26-
use SimpleSAML\SAML2\XML\Comparison;
2726
use SimpleSAML\SAML2\XML\md\ContactPerson;
2827
use SimpleSAML\SAML2\XML\saml\AuthnContextClassRef;
2928
use SimpleSAML\SAML2\XML\saml\NameID;
29+
use SimpleSAML\SAML2\XML\samlp\AuthnContextComparisonTypeEnum;
3030
use SimpleSAML\SAML2\XML\samlp\Extensions;
3131
use SimpleSAML\SAML2\XML\samlp\IDPEntry;
3232
use SimpleSAML\SAML2\XML\samlp\IDPList;
@@ -41,6 +41,7 @@
4141
use Symfony\Component\HttpFoundation\Request;
4242
use Symfony\Component\HttpFoundation\Response;
4343

44+
use function array_column;
4445
use function array_intersect;
4546
use function array_key_exists;
4647
use function array_keys;
@@ -563,17 +564,16 @@ private function startSSO2(Configuration $idpMetadata, array $state): Response
563564
}
564565

565566
if ($accr !== null) {
566-
$comp = Comparison::EXACT;
567+
$comp = AuthnContextComparisonTypeEnum::Exact;
567568
if ($idpMetadata->getOptionalString('AuthnContextComparison', null) !== null) {
568569
$comp = $idpMetadata->getString('AuthnContextComparison');
569570
} elseif (
570571
isset($state['saml:AuthnContextComparison'])
571-
&& in_array($state['saml:AuthnContextComparison'], [
572-
Comparison::EXACT,
573-
Comparison::MINIMUM,
574-
Comparison::MAXIMUM,
575-
Comparison::BETTER,
576-
], true)
572+
&& in_array(
573+
$state['saml:AuthnContextComparison'],
574+
array_column(AuthnContextComparisonTypeEnum::cases(), 'value'),
575+
true,
576+
)
577577
) {
578578
$comp = $state['saml:AuthnContextComparison'];
579579
}
@@ -588,12 +588,7 @@ private function startSSO2(Configuration $idpMetadata, array $state): Response
588588
isset($state['saml:RequestedAuthnContext']['Comparison'])
589589
&& in_array(
590590
$state['saml:RequestedAuthnContext']['Comparison'],
591-
[
592-
Comparison::EXACT,
593-
Comparison::MINIMUM,
594-
Comparison::MAXIMUM,
595-
Comparison::BETTER,
596-
],
591+
array_column(AuthnContextComparisonTypeEnum::cases(), 'value'),
597592
true,
598593
)
599594
) {
@@ -990,7 +985,7 @@ public function reauthenticate(array &$state): void
990985
if (
991986
$this->passAuthnContextClassRef
992987
&& isset($state['saml:RequestedAuthnContext'])
993-
&& $state['saml:RequestedAuthnContext']['Comparison'] === Comparison::EXACT
988+
&& $state['saml:RequestedAuthnContext']['Comparison'] === AuthnContextComparisonTypeEnum::Exact
994989
&& isset($data['saml:sp:AuthnContext'])
995990
&& $state['saml:RequestedAuthnContext']['AuthnContextClassRef'][0] !== $data['saml:sp:AuthnContext']
996991
) {

modules/saml/src/Message.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,18 @@
2222
use SimpleSAML\Module\saml\Error as SAMLError;
2323
use SimpleSAML\SAML2\Constants as C;
2424
use SimpleSAML\SAML2\SignedElement;
25-
use SimpleSAML\SAML2\XML\Comparison;
2625
use SimpleSAML\SAML2\XML\saml\AuthnContextClassRef;
2726
use SimpleSAML\SAML2\XML\saml\Issuer;
2827
use SimpleSAML\SAML2\XML\samlp\AbstractMessage;
28+
use SimpleSAML\SAML2\XML\samlp\AuthnContextComparisonTypeEnum;
2929
use SimpleSAML\SAML2\XML\samlp\RequestedAuthnContext;
3030
use SimpleSAML\SAML2\XML\samlp\StatusCode;
3131
use SimpleSAML\Utils;
3232
use SimpleSAML\XMLSecurity\XML\ds\KeyInfo;
3333
use SimpleSAML\XMLSecurity\XML\ds\X509Certificate;
3434
use SimpleSAML\XMLSecurity\XML\ds\X509Data;
3535

36+
use function array_column;
3637
use function array_filter;
3738
use function array_key_exists;
3839
use function array_map;
@@ -572,8 +573,8 @@ public static function buildAuthnRequest(
572573
$accr = $spMetadata->getArrayizeString('AuthnContextClassRef');
573574
$comp = $spMetadata->getOptionalValueValidate(
574575
'AuthnContextComparison',
575-
array_column(Comparison::cases(), 'value'),
576-
Comparison::EXACT->value,
576+
array_column(AuthnContextComparisonTypeEnum::cases(), 'value'),
577+
AuthnContextComparisonTypeEnum::Exact->value,
577578
);
578579

579580
$ar->setRequestedAuthnContext(

0 commit comments

Comments
 (0)