From 542751a070861aecf92db9bffcec2b42e2e1dc71 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 c98fba2a8..5a433220e 100644
--- a/www/saml2/idp/ArtifactResolutionService.php
+++ b/www/saml2/idp/ArtifactResolutionService.php
@@ -15,6 +15,7 @@ use SAML2\ArtifactResolve;
 use SAML2\ArtifactResponse;
 use SAML2\DOMDocumentFactory;
 use SAML2\SOAP;
+use SAML2\XML\saml\Issuer;
 use SimpleSAML\Configuration;
 use SimpleSAML\Error;
 use SimpleSAML\Module;
@@ -58,6 +59,10 @@ if (!($request instanceof ArtifactResolve)) {
 }
 
 $issuer = $request->getIssuer();
+if (!is_string($issuer)) {
+    $issuer = $issuer->getValue();
+}
+
 $spMetadata = $metadata->getMetaDataConfig($issuer, 'saml20-sp-remote');
 
 $artifact = $request->getArtifact();
@@ -73,7 +78,10 @@ if ($responseData !== null) {
 }
 
 $artifactResponse = new ArtifactResponse();
-$artifactResponse->setIssuer($idpEntityId);
+$issuer = new Issuer();
+$issuer->setValue($idpEntityId);
+$artifactResponse->setIssuer($issuer);
+
 $artifactResponse->setInResponseTo($request->getId());
 $artifactResponse->setAny($responseXML);
 Module\saml\Message::addSign($idpMetadata, $spMetadata, $artifactResponse);
-- 
GitLab