From 95ce29769535b759cc9488767b12b6526b575c4a Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Tue, 11 Mar 2008 15:11:44 +0000 Subject: [PATCH] Added support for a different SingleLogoutServiceResponse location in XML idp configuration. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@387 44740490-163a-0410-bde0-09ae8108e29a --- lib/SimpleSAML/Metadata/SAMLParser.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/SimpleSAML/Metadata/SAMLParser.php b/lib/SimpleSAML/Metadata/SAMLParser.php index 975029129..db8cc0e39 100644 --- a/lib/SimpleSAML/Metadata/SAMLParser.php +++ b/lib/SimpleSAML/Metadata/SAMLParser.php @@ -437,7 +437,9 @@ class SimpleSAML_Metadata_SAMLParser { * - 'entityid': The entity id of the entity described in the metadata. * - 'name': Autogenerated name for this entity. Currently set to the entity id. * - 'SingleSignOnService': String with the url of the SSO service which supports the redirect binding. - * - 'SingleLogoutService': String with the url where we should send logout requests/responses. + * - 'SingleLogoutService': String with the url where we should send logout requests(/responses). + * - 'SingleLogoutServiceResponse': String where we should send logout responses (if this is different from + * the 'SingleLogoutService' endpoint. * - 'certFingerprint': Fingerprint of the X509Certificate from the metadata. * * Metadata must be loaded with one of the parse functions before this function can be called. @@ -477,6 +479,11 @@ class SimpleSAML_Metadata_SAMLParser { } $ret['SingleLogoutService'] = $slo['location']; + /* If the response location is set, include it in the returned metadata. */ + if($slo['responseLocation']) { + $ret['SingleLogoutServiceResponse'] = $slo['responseLocation']; + } + /* Find the certificate fingerprint. */ foreach($idp['keys'] as $key) { @@ -676,7 +683,7 @@ class SimpleSAML_Metadata_SAMLParser { $ep['location'] = $element->getAttribute('Location'); if($element->hasAttribute('ResponseLocation')) { - $ep['responseLocation'] = $element->getAttribute('Location'); + $ep['responseLocation'] = $element->getAttribute('ResponseLocation'); } if($isIndexed) { -- GitLab