From f46e8edcf522679b30366d942b033fcbd3cbcace Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Thu, 17 Jul 2008 05:48:39 +0000
Subject: [PATCH] Create a persistent session index for SAML2 SPs.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@786 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/Session.php                  | 3 +++
 lib/SimpleSAML/XML/SAML20/AuthnResponse.php | 6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/SimpleSAML/Session.php b/lib/SimpleSAML/Session.php
index cd491391c..73a1beb77 100644
--- a/lib/SimpleSAML/Session.php
+++ b/lib/SimpleSAML/Session.php
@@ -276,6 +276,9 @@ class SimpleSAML_Session {
 		$this->sessionindex = $sessionindex;
 	}
 	public function getSessionIndex() {
+		if($this->sessionindex === NULL) {
+			$this->sessionindex = SimpleSAML_Utilities::generateID();
+		}
 		return $this->sessionindex;
 	}
 	public function setNameID($nameid) {
diff --git a/lib/SimpleSAML/XML/SAML20/AuthnResponse.php b/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
index 855908a6a..e62416094 100644
--- a/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
+++ b/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
@@ -609,9 +609,11 @@ class SimpleSAML_XML_SAML20_AuthnResponse extends SimpleSAML_XML_AuthnResponse {
 		$issueInstant = SimpleSAML_Utilities::generateTimestamp();
 		$assertionExpire = SimpleSAML_Utilities::generateTimestamp(time() + 60 * 5);# 5 minutes
 		$notBefore = SimpleSAML_Utilities::generateTimestamp(time() - 30);
-		
+
 		$assertionid = SimpleSAML_Utilities::generateID();
-		$sessionindex = SimpleSAML_Utilities::generateID();
+
+		$session = SimpleSAML_Session::getInstance();
+		$sessionindex = $session->getSessionIndex();
 
 		
 		/**
-- 
GitLab