From a5738b5a402407dbcfc43b6fc7dcb585416b6f7d Mon Sep 17 00:00:00 2001
From: Andy Summers <andrew.summers@wisc.edu>
Date: Wed, 13 Jul 2016 15:02:33 -0500
Subject: [PATCH] Move header constants into `Provider` interface

---
 .../edu/wisc/doit/FederatedPreauthUserDetailsProvider.php   | 3 ---
 src/main/edu/wisc/doit/UserDetailsProvider.php              | 6 +++++-
 .../wisc/doit/FederatedPreauthUserDetailsProviderTest.php   | 4 ++--
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main/edu/wisc/doit/FederatedPreauthUserDetailsProvider.php b/src/main/edu/wisc/doit/FederatedPreauthUserDetailsProvider.php
index f2ed252..94ea410 100644
--- a/src/main/edu/wisc/doit/FederatedPreauthUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/FederatedPreauthUserDetailsProvider.php
@@ -9,9 +9,6 @@ namespace edu\wisc\doit;
 class FederatedPreauthUserDetailsProvider implements UserDetailsProvider
 {
 
-    const SHIB_SESSION_ID = 'Shib-Session-Id';
-    const SHIB_SESSION_ID_HTTP = 'HTTP_SHIB_SESSION_ID';
-
     /** @var bool */
     private $httpHeaders;
 
diff --git a/src/main/edu/wisc/doit/UserDetailsProvider.php b/src/main/edu/wisc/doit/UserDetailsProvider.php
index 0b6381b..36c7244 100644
--- a/src/main/edu/wisc/doit/UserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/UserDetailsProvider.php
@@ -8,13 +8,17 @@ namespace edu\wisc\doit;
 interface UserDetailsProvider
 {
     
-    // Constants representing UW Federated login Shibboleth headers which should be mapped by concrete implementations.
+    // Constants representing UW Federated login Shibboleth headers
     const FED_EPPN = "eppn";
     const FED_SPVI = "eduWisconsinSPVI";
     const FED_FULLNAME = "eduWisconsinCommonName";
     const FED_FIRST_NAME = "eduWisconsinGivenName";
     const FED_LAST_NAME = "eduWisconsinSurname";
     const FED_EMAIL = "eduWisconsinEmailAddress";
+
+    // Generic and/or UWMSN constants
+    const SHIB_SESSION_ID = 'Shib-Session-Id';
+    const SHIB_SESSION_ID_HTTP = 'HTTP_SHIB_SESSION_ID';
     const UDDS = "udds";
     const SOURCE = "source";
     const ISIS_EMPLID = "isisEmplid";
diff --git a/src/test/edu/wisc/doit/FederatedPreauthUserDetailsProviderTest.php b/src/test/edu/wisc/doit/FederatedPreauthUserDetailsProviderTest.php
index d28bf7b..cfc0afd 100644
--- a/src/test/edu/wisc/doit/FederatedPreauthUserDetailsProviderTest.php
+++ b/src/test/edu/wisc/doit/FederatedPreauthUserDetailsProviderTest.php
@@ -32,7 +32,7 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
         putenv(UserDetailsProvider::FED_EMAIL . '=' . $attributes[UserDetailsProvider::FED_EMAIL]);
         putenv(UserDetailsProvider::SOURCE . '=' . $attributes[UserDetailsProvider::SOURCE]);
         putenv(UserDetailsProvider::ISIS_EMPLID . '=' . $attributes[UserDetailsProvider::ISIS_EMPLID]);
-        putenv(FederatedPreauthUserDetailsProvider::SHIB_SESSION_ID  . '=' . $attributes[FederatedPreauthUserDetailsProvider::SHIB_SESSION_ID]);
+        putenv(UserDetailsProvider::SHIB_SESSION_ID  . '=' . $attributes[UserDetailsProvider::SHIB_SESSION_ID]);
     }
 
     public function testLoadUser() {
@@ -52,7 +52,7 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
     public function testLoadUserWithNoEPPN() {
         $this->userProvider = new FederatedPreauthUserDetailsProvider();
         // Clear Shib session ID to simulate no session
-        putenv(FederatedPreauthUserDetailsProvider::SHIB_SESSION_ID);
+        putenv(UserDetailsProvider::SHIB_SESSION_ID);
         $user = $this->userProvider->loadUser();
         $this->assertNull($user);
     }
-- 
GitLab