Skip to content

Commit 0d2c269

Browse files
committed
At the IdPMetadataParser, Only add responseUrl to the settings if ResponseLocation present
1 parent 7704e47 commit 0d2c269

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

src/Saml2/IdPMetadataParser.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,12 @@ public static function parseXML($xml, $entityId = null, $desiredNameIdFormat = n
158158
if ($sloNodes->length > 0) {
159159
$metadataInfo['idp']['singleLogoutService'] = array(
160160
'url' => $sloNodes->item(0)->getAttribute('Location'),
161-
'responseUrl' => $sloNodes->item(0)->getAttribute('ResponseLocation'),
162161
'binding' => $sloNodes->item(0)->getAttribute('Binding')
163162
);
163+
164+
if ($sloNodes->item(0)->hasAttribute('ResponseLocation')) {
165+
$metadataInfo['idp']['singleLogoutService']['responseUrl'] = $sloNodes->item(0)->getAttribute('ResponseLocation');
166+
}
164167
}
165168

166169
$keyDescriptorCertSigningNodes = Utils::query($dom, './md:KeyDescriptor[not(contains(@use, "encryption"))]/ds:KeyInfo/ds:X509Data/ds:X509Certificate', $idpDescriptor);

tests/src/OneLogin/Saml2/IdPMetadataParserTest.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ public function testParseFileXML()
2626
),
2727
'singleLogoutService' => array(
2828
'url' => 'https://example.onelogin.com/trust/saml2/http-redirect/slo/645460',
29-
'responseUrl' => '',
3029
'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
3130
),
3231
'x509cert' => 'MIIEZTCCA02gAwIBAgIUPyy/A3bZAZ4m28PzEUUoT7RJhxIwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UEBhMCVVMxKzApBgNVBAoMIk9uZUxvZ2luIFRlc3QgKHNnYXJjaWEtdXMtcHJlcHJvZCkxFTATBgNVBAsMDE9uZUxvZ2luIElkUDEfMB0GA1UEAwwWT25lTG9naW4gQWNjb3VudCA4OTE0NjAeFw0xNjA4MDQyMjI5MzdaFw0yMTA4MDUyMjI5MzdaMHIxCzAJBgNVBAYTAlVTMSswKQYDVQQKDCJPbmVMb2dpbiBUZXN0IChzZ2FyY2lhLXVzLXByZXByb2QpMRUwEwYDVQQLDAxPbmVMb2dpbiBJZFAxHzAdBgNVBAMMFk9uZUxvZ2luIEFjY291bnQgODkxNDYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDN6iqQGcLOCglNO42I2rkzE05UXSiMXT6c8ALThMMiaDw6qqzo3sd/tKK+NcNKWLIIC8TozWVyh5ykUiVZps+08xil7VsTU7E+wKu3kvmOsvw2wlRwtnoKZJwYhnr+RkBa+h1r3ZYUgXm1ZPeHMKj1g18KaWz9+MxYL6BhKqrOzfW/P2xxVRcFH7/pq+ZsDdgNzD2GD+apzY4MZyZj/N6BpBWJ0GlFsmtBegpbX3LBitJuFkk5L4/U/jjF1AJa3boBdCUVfATqO5G03H4XS1GySjBIRQXmlUF52rLjg6xCgWJ30/+t1X+IHLJeixiQ0vxyh6C4/usCEt94cgD1r8ADAgMBAAGjgfIwge8wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUPW0DcH0G3IwynWgi74co4wZ6n7gwga8GA1UdIwSBpzCBpIAUPW0DcH0G3IwynWgi74co4wZ6n7ihdqR0MHIxCzAJBgNVBAYTAlVTMSswKQYDVQQKDCJPbmVMb2dpbiBUZXN0IChzZ2FyY2lhLXVzLXByZXByb2QpMRUwEwYDVQQLDAxPbmVMb2dpbiBJZFAxHzAdBgNVBAMMFk9uZUxvZ2luIEFjY291bnQgODkxNDaCFD8svwN22QGeJtvD8xFFKE+0SYcSMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQUFAAOCAQEAQhB4q9jrycwbHrDSoYR1X4LFFzvJ9Us75wQquRHXpdyS9D6HUBXMGI6ahPicXCQrfLgN8vzMIiqZqfySXXv/8/dxe/X4UsWLYKYJHDJmxXD5EmWTa65chjkeP1oJAc8f3CKCpcP2lOBTthbnk2fEVAeLHR4xNdQO0VvGXWO9BliYPpkYqUIBvlm+Fg9mF7AM/Uagq2503XXIE1Lq//HON68P10vNMwLSKOtYLsoTiCnuIKGJqG37MsZVjQ1ZPRcO+LSLkq0i91gFxrOrVCrgztX4JQi5XkvEsYZGIXXjwHqxTVyt3adZWQO0LPxPqRiUqUzyhDhLo/xXNrHCu4VbMw=='
@@ -182,7 +181,6 @@ public function testParseDesiredBindingAll()
182181
),
183182
"singleLogoutService" => array(
184183
"url" => "http://idp.example.com/logout",
185-
"responseUrl" => "",
186184
"binding" => "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
187185
)
188186
)
@@ -299,7 +297,6 @@ public function testParseMultiCerts()
299297
"idp" => array(
300298
"singleLogoutService" => array(
301299
"url" => "https://idp.examle.com/saml/slo",
302-
"responseUrl" => "",
303300
"binding" => "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
304301
),
305302
"x509certMulti" => array(
@@ -337,7 +334,6 @@ public function testParseMultiSigningCerts()
337334
"idp" => array(
338335
"singleLogoutService" => array(
339336
"url" => "https://idp.examle.com/saml/slo",
340-
"responseUrl" => "",
341337
"binding" => "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
342338
),
343339
"x509certMulti" => array(
@@ -433,7 +429,6 @@ public function testInjectIntoSettings()
433429
),
434430
'singleLogoutService' => array(
435431
'url' => 'https://idp.adfs.example.com/adfs/ls/',
436-
'responseUrl' => '',
437432
'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
438433
),
439434
'x509certMulti' => array(

0 commit comments

Comments
 (0)