diff --git a/psalm.xml b/psalm.xml index e760ea7ca3edf66d17d29d1c28d420887031793f..6f229cf1ad8c607dd7542b9476460d90ac6605a2 100644 --- a/psalm.xml +++ b/psalm.xml @@ -12,6 +12,7 @@ <directory name="metadata-templates" /> <directory name="modules" /> <directory name="tests" /> + <directory name="www" /> <!-- Ignore certain directories --> <ignoreFiles> diff --git a/www/saml2/idp/ArtifactResolutionService.php b/www/saml2/idp/ArtifactResolutionService.php index bcec37713caced921d00994c9526c7178f8b3bb6..76cc4a18504ea194b628a0a1dbcc14a4a8870acc 100644 --- a/www/saml2/idp/ArtifactResolutionService.php +++ b/www/saml2/idp/ArtifactResolutionService.php @@ -15,6 +15,7 @@ use SAML2\ArtifactResponse; use SAML2\DOMDocumentFactory; use SAML2\SOAP; use SAML2\XML\saml\Issuer; +use SimpleSAML\Assert\Assert; use SimpleSAML\Configuration; use SimpleSAML\Error; use SimpleSAML\Module; @@ -57,7 +58,10 @@ if (!($request instanceof ArtifactResolve)) { throw new Exception('Message received on ArtifactResolutionService wasn\'t a ArtifactResolve request.'); } -$issuer = $request->getIssuer()->getValue(); +$issuer = $request->getIssuer(); +/** @psalm-assert \SAML2\XML\saml\Issuer $issuer */ +Assert::notNull($issuer); +$issuer = $issuer->getValue(); $spMetadata = $metadata->getMetaDataConfig($issuer, 'saml20-sp-remote'); $artifact = $request->getArtifact(); $responseData = $store->get('artifact', $artifact); @@ -65,7 +69,7 @@ $store->delete('artifact', $artifact); if ($responseData !== null) { $document = DOMDocumentFactory::fromString($responseData); - $responseXML = $document->firstChild; + $responseXML = $document->documentElement; } else { $responseXML = null; } diff --git a/www/saml2/idp/initSLO.php b/www/saml2/idp/initSLO.php index e6c7f26f61ccec1885a88cba4c8fb611ea3149da..f86b49488ba98645997f81ba1ef8a46484aa4eb8 100644 --- a/www/saml2/idp/initSLO.php +++ b/www/saml2/idp/initSLO.php @@ -5,7 +5,7 @@ require_once('../../_include.php'); use SimpleSAML\Assert\Assert; use SimpleSAML\Configuration; use SimpleSAML\Error; -use SimpleSAML\Idp; +use SimpleSAML\IdP; use SimpleSAML\Logger; use SimpleSAML\Metadata; use SimpleSAML\Module; diff --git a/www/saml2/idp/metadata.php b/www/saml2/idp/metadata.php index f9534c48cd19db8763255183a89b3b92bf18556f..7bf640076a46786ea18b9e4135af9756ae115881 100644 --- a/www/saml2/idp/metadata.php +++ b/www/saml2/idp/metadata.php @@ -201,9 +201,11 @@ try { $technicalContactEmail = $config->getString('technicalcontact_email', false); if ($technicalContactEmail && $technicalContactEmail !== 'na@example.org') { - $techcontact['emailAddress'] = $technicalContactEmail; - $techcontact['name'] = $config->getString('technicalcontact_name', null); - $techcontact['contactType'] = 'technical'; + $techcontact = [ + 'emailAddress' => $technicalContactEmail, + 'name' => $config->getString('technicalcontact_name', null), + 'contactType' => 'technical', + ]; $metaArray['contacts'][] = Metadata::getContact($techcontact); }