From d08d4a5795545d0b4905e283f585982aa4e99091 Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Tue, 18 Dec 2007 13:09:51 +0000 Subject: [PATCH] SAML2:SP:SingleLogoutService - Handle logout request from IdP without a valid session. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@127 44740490-163a-0410-bde0-09ae8108e29a --- www/saml2/sp/SingleLogoutService.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/www/saml2/sp/SingleLogoutService.php b/www/saml2/sp/SingleLogoutService.php index 23d711b0b..dc0f4a977 100644 --- a/www/saml2/sp/SingleLogoutService.php +++ b/www/saml2/sp/SingleLogoutService.php @@ -17,9 +17,18 @@ $metadata = new SimpleSAML_XML_MetaDataStore($config); // Get the local session $session = SimpleSAML_Session::getInstance(); +/* Get the tracking id for this session if we have a valid session. Use an + * empty string if we don't have a valid session. + */ +if($session !== NULL) { + $trackId = $session->getTrackId(); +} else { + $trackId = ''; +} + $logger = new SimpleSAML_Logger(); -$logger->log(LOG_INFO, $session->getTrackID(), 'SAML2.0', 'SP.SingleLogoutService', 'EVENT', 'Access', +$logger->log(LOG_INFO, $trackId, 'SAML2.0', 'SP.SingleLogoutService', 'EVENT', 'Access', 'Accessing SAML 2.0 SP endpoint SingleLogoutService'); // Destroy local session if exists. @@ -51,7 +60,7 @@ if (isset($_GET['SAMLRequest'])) { $responder = $metadata->getMetaDataCurrentEntityID(); - $logger->log(LOG_NOTICE, $session->getTrackID(), 'SAML2.0', 'SP.SingleLogoutService', 'LogoutRequest', $requestid, + $logger->log(LOG_NOTICE, $trackId, 'SAML2.0', 'SP.SingleLogoutService', 'LogoutRequest', $requestid, 'IdP (' . $requester . ') is sending logout request to me SP (' . $responder . ')'); @@ -64,7 +73,7 @@ if (isset($_GET['SAMLRequest'])) { $httpredirect = new SimpleSAML_Bindings_SAML20_HTTPRedirect($config, $metadata); - $logger->log(LOG_NOTICE, $session->getTrackID(), 'SAML2.0', 'SP.SingleLogoutService', 'LogoutResponse', '-', + $logger->log(LOG_NOTICE, $trackId, 'SAML2.0', 'SP.SingleLogoutService', 'LogoutResponse', '-', 'SP me (' . $responder . ') is sending logout response to IdP (' . $requester . ')'); // Send the Logout response using HTTP POST binding. -- GitLab