diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php index 4d07d3c88a0c0e33202da6ad2958e81e7ca87fe1..fc1be843f612a679ce4ee630e109d6db1c3fccdb 100644 --- a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php @@ -100,6 +100,9 @@ class SimpleSAML_Metadata_MetaDataStorageHandler { case 'SingleLogoutService' : return $baseurl . 'saml2/sp/SingleLogoutService.php'; + + case 'SingleLogoutServiceBinding' : + return SAML2_Const::BINDING_HTTP_REDIRECT; } } elseif($set == 'saml20-idp-hosted') { diff --git a/www/saml2/sp/initSLO.php b/www/saml2/sp/initSLO.php index 84855d00e3c8baf1c1814b80feff2b7358a379bf..d9aa0069cff6576b76e4c29e09d258f487dffdfe 100644 --- a/www/saml2/sp/initSLO.php +++ b/www/saml2/sp/initSLO.php @@ -34,7 +34,6 @@ try { SimpleSAML_Logger::info('SAML2.0 - SP.initSLO: No supported SingleLogoutService endpoint in IdP.'); SimpleSAML_Utilities::redirect($returnTo); } - $lr->setDestination($SLOendpoint['Location']); $spEntityId = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrentEntityID(); $spMetadata = $metadata->getMetaDataConfig($spEntityId, 'saml20-sp-hosted'); @@ -44,6 +43,7 @@ try { $lr = sspmod_saml_Message::buildLogoutRequest($spMetadata, $idpMetadata); $lr->setNameId($nameId); $lr->setSessionIndex($session->getAuthData('saml2', 'saml:sp:SessionIndex')); + $lr->setDestination($SLOendpoint['Location']); $session->doLogout('saml2');