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;
 			}