From 19eae916f02c37f2320134caf51858e5faaf92a0 Mon Sep 17 00:00:00 2001 From: Timothee Date: Fri, 22 Nov 2024 09:59:41 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B07792=20Do=20not=20initialize=20CAS=20if?= =?UTF-8?q?=20already=20started?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2.x/authent-cas/src/CASLoginExtension.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/datamodels/2.x/authent-cas/src/CASLoginExtension.php b/datamodels/2.x/authent-cas/src/CASLoginExtension.php index 0fa511610..447b71295 100644 --- a/datamodels/2.x/authent-cas/src/CASLoginExtension.php +++ b/datamodels/2.x/authent-cas/src/CASLoginExtension.php @@ -160,8 +160,7 @@ class CASLoginExtension extends AbstractLoginFSMExtension implements iLogoutExte private static function InitCASClient() { $bCASDebug = Config::Get('cas_debug'); - if ($bCASDebug) - { + if ($bCASDebug) { phpCAS::setLogger(new CASLogger(APPROOT.'log/cas.log')); } @@ -171,18 +170,17 @@ class CASLoginExtension extends AbstractLoginFSMExtension implements iLogoutExte $iCASPort = Config::Get('cas_port'); $sCASContext = Config::Get('cas_context'); $sServiceBaseURL = Config::Get('service_base_url', self::GetServiceBaseURL()); - phpCAS::client($sCASVersion, $sCASHost, $iCASPort, $sCASContext, $sServiceBaseURL, false /* session already started */); + if (!phpCAS::isInitialized()) { + phpCAS::client($sCASVersion, $sCASHost, $iCASPort, $sCASContext, $sServiceBaseURL, false /* session already started */); + } $sCASCACertPath = Config::Get('cas_server_ca_cert_path'); - if (empty($sCASCACertPath)) - { + if (empty($sCASCACertPath)) { // If no certificate authority is provided, do not attempt to validate // the server's certificate // THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION. // VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL! phpCAS::setNoCasServerValidation(); - } - else - { + } else { phpCAS::setCasServerCACert($sCASCACertPath); } }