diff --git a/config-templates/config.php b/config-templates/config.php index 469fd1f0f030b499a9113e10a05988009af5f2c7..461a9f0c1799f93db02938e3306d87b7f691c0ea 100644 --- a/config-templates/config.php +++ b/config-templates/config.php @@ -215,7 +215,12 @@ $config = array ( 'session.phpsession.cookiename' => null, 'session.phpsession.savepath' => null, 'session.phpsession.httponly' => FALSE, - + + /* + * Option to override the default settings for the auth token cookie + */ + 'session.authtoken.cookiename' => null, + /* * Languages available, RTL languages, and what language is default */ diff --git a/lib/SimpleSAML/Session.php b/lib/SimpleSAML/Session.php index 79ecd025cd70d0408eec797a1b993c4c9ffeed3b..8d4142265c78a8ec24d5637f85925f1988447e6f 100644 --- a/lib/SimpleSAML/Session.php +++ b/lib/SimpleSAML/Session.php @@ -498,7 +498,7 @@ class SimpleSAML_Session { $this->authToken = SimpleSAML_Utilities::generateID(); $sessionHandler = SimpleSAML_SessionHandler::getSessionHandler(); - $sessionHandler->setCookie('SimpleSAMLAuthToken', $this->authToken); + $sessionHandler->setCookie($globalConfig->getString('session.authtoken.cookiename', 'SimpleSAMLAuthToken'), $this->authToken); } @@ -993,11 +993,13 @@ class SimpleSAML_Session { } if ($checkToken && $session->authToken !== NULL) { - if (!isset($_COOKIE['SimpleSAMLAuthToken'])) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + $authTokenCookieName = $globalConfig->getString('session.authtoken.cookiename', 'SimpleSAMLAuthToken'); + if (!isset($_COOKIE[$authTokenCookieName])) { SimpleSAML_Logger::warning('Missing AuthToken cookie.'); return NULL; } - if ($_COOKIE['SimpleSAMLAuthToken'] !== $session->authToken) { + if ($_COOKIE[$authTokenCookieName] !== $session->authToken) { SimpleSAML_Logger::warning('Invalid AuthToken cookie.'); return NULL; }