From 3dee673a84e49ccf828a378b4d9a59e8d6931f82 Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Thu, 13 Feb 2014 15:59:13 -0600 Subject: [PATCH] When doing CAS logouts, support a baseUrl with schema and host specified. --- library/Unl/Controller/Action/Authenticate.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/library/Unl/Controller/Action/Authenticate.php b/library/Unl/Controller/Action/Authenticate.php index 12de3e8..3679925 100644 --- a/library/Unl/Controller/Action/Authenticate.php +++ b/library/Unl/Controller/Action/Authenticate.php @@ -47,15 +47,19 @@ abstract class Unl_Controller_Action_Authenticate extends Unl_Controller_Action { $this->_destroyUser(Zend_Auth::getInstance()->getIdentity()); Zend_Auth::getInstance()->clearIdentity(); - - if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { - $returnUrl = 'https://'; + + $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); + if (parse_url($baseUrl, PHP_URL_SCHEME)) { + $returnUrl = $baseUrl; } else { - $returnUrl = 'http://'; + if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { + $returnUrl = 'https://'; + } else { + $returnUrl = 'http://'; + } + $returnUrl .= $_SERVER['SERVER_NAME'] . $baseUrl; } - $returnUrl .= $_SERVER['SERVER_NAME'] . Zend_Controller_Front::getInstance()->getBaseUrl(); - $logoutUrl = $this->_getCasAdapter()->getLogoutUrl($returnUrl); $this->_redirect($logoutUrl); } -- GitLab