From daf235a20e4f87399ccb241449ea24daaa63a2f8 Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tim.dijen@minbzk.nl> Date: Fri, 19 Jun 2020 17:07:07 +0200 Subject: [PATCH] Fix ArtifactResolution #1343 (#1344) Fix ArtifactResolution due to misuse of Issuer --- www/saml2/idp/ArtifactResolutionService.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/www/saml2/idp/ArtifactResolutionService.php b/www/saml2/idp/ArtifactResolutionService.php index 16a99dc62..c4e52bd14 100644 --- a/www/saml2/idp/ArtifactResolutionService.php +++ b/www/saml2/idp/ArtifactResolutionService.php @@ -47,6 +47,10 @@ if (!($request instanceof \SAML2\ArtifactResolve)) { } $issuer = $request->getIssuer(); +if (!is_string($issuer)) { + $issuer = $issuer->getValue(); +} + $spMetadata = $metadata->getMetaDataConfig($issuer, 'saml20-sp-remote'); $artifact = $request->getArtifact(); @@ -62,7 +66,11 @@ if ($responseData !== null) { } $artifactResponse = new \SAML2\ArtifactResponse(); -$artifactResponse->setIssuer($idpEntityId); + +$issuer = new \SAML2\XML\saml\Issuer(); +$issuer->setValue($idpEntityId); +$artifactResponse->setIssuer($issuer); + $artifactResponse->setInResponseTo($request->getId()); $artifactResponse->setAny($responseXML); \SimpleSAML\Module\saml\Message::addSign($idpMetadata, $spMetadata, $artifactResponse); -- GitLab