diff --git a/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
index 78b9c9e0ddd2b0962b36bad27d0400adccae987d..f211ca7ebc1959ea6c5b88a970704e855fc5454a 100644
--- a/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
@@ -20,12 +20,13 @@ abstract class UserDetailsProvider
     const SOURCE = "source";
     const ISIS_EMPLID = "isisEmplid";
 
-    // Delimiter used by multi-valued headers
+    /** Delimiter used by multi-valued headers */
     const DELIMITER = ';';
 
     /**
      * UserDetailsProvider constructor.
-     * @param $http
+     *
+     * @param bool $http  true if Shibboleth attributes are delivered via HTTP request headers
      */
     public function __construct($http = false)
     {
@@ -45,10 +46,11 @@ abstract class UserDetailsProvider
      *
      * @param string $attribute attribute to map
      * @return string Shibboleth attribute name mapped to its equivalent HTTP header name
+     *
+     * @see https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPAttributeAccess NativeSPAttributeAccess
      */
-    protected function mapAttribute($attribute)
+    protected function httpHeaderFromAttribute($attribute)
     {
         return 'HTTP_' . strtoupper($attribute);
     }
-
 }
diff --git a/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
index e8d896b553bb289aad358fadf5778c4c48d33045..baafe052d3895e0f8edec6d81066ee56714caffd 100644
--- a/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
@@ -34,15 +34,15 @@ class FederatedPreauthUserDetailsProvider extends UserDetailsProvider
 
         if ($this->httpHeaders) {
             $userDetails = new UWUserDetails(
-                getenv($this->mapAttribute(static::EPPN)),
-                getenv($this->mapAttribute(static::SPVI)),
-                getenv($this->mapAttribute(static::FULL_NAME)),
-                explode(static::DELIMITER, getenv($this->mapAttribute(static::UDDS))),
-                getenv($this->mapAttribute(static::EMAIL)),
-                getenv($this->mapAttribute(static::SOURCE)),
-                getenv($this->mapAttribute(static::ISIS_EMPLID)),
-                getenv($this->mapAttribute(static::FIRST_NAME)),
-                getenv($this->mapAttribute(static::LAST_NAME))
+                getenv($this->httpHeaderFromAttribute(static::EPPN)),
+                getenv($this->httpHeaderFromAttribute(static::SPVI)),
+                getenv($this->httpHeaderFromAttribute(static::FULL_NAME)),
+                explode(static::DELIMITER, getenv($this->httpHeaderFromAttribute(static::UDDS))),
+                getenv($this->httpHeaderFromAttribute(static::EMAIL)),
+                getenv($this->httpHeaderFromAttribute(static::SOURCE)),
+                getenv($this->httpHeaderFromAttribute(static::ISIS_EMPLID)),
+                getenv($this->httpHeaderFromAttribute(static::FIRST_NAME)),
+                getenv($this->httpHeaderFromAttribute(static::LAST_NAME))
             );
         } else {
             $userDetails = new UWUserDetails(
diff --git a/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
index 80d36d957236e1fe3319b7a37e256e6e01d6d06b..2406b38c705d411261b8647bf323eaa27c905163 100644
--- a/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
@@ -36,15 +36,15 @@ class PreauthUserDetailsProvider extends UserDetailsProvider
 
         if ($this->httpHeaders) {
             $userDetails = new UWUserDetails(
-                getenv($this->mapAttribute(static::EPPN)),
-                getenv($this->mapAttribute(static::PVI)),
-                getenv($this->mapAttribute(static::FULL_NAME)),
-                explode(static::DELIMITER, getenv($this->mapAttribute(static::UDDS))),
-                getenv($this->mapAttribute(static::EMAIL)),
-                getenv($this->mapAttribute(static::SOURCE)),
-                getenv($this->mapAttribute(static::ISIS_EMPLID)),
-                getenv($this->mapAttribute(static::FIRST_NAME)),
-                getenv($this->mapAttribute(static::LAST_NAME))
+                getenv($this->httpHeaderFromAttribute(static::EPPN)),
+                getenv($this->httpHeaderFromAttribute(static::PVI)),
+                getenv($this->httpHeaderFromAttribute(static::FULL_NAME)),
+                explode(static::DELIMITER, getenv($this->httpHeaderFromAttribute(static::UDDS))),
+                getenv($this->httpHeaderFromAttribute(static::EMAIL)),
+                getenv($this->httpHeaderFromAttribute(static::SOURCE)),
+                getenv($this->httpHeaderFromAttribute(static::ISIS_EMPLID)),
+                getenv($this->httpHeaderFromAttribute(static::FIRST_NAME)),
+                getenv($this->httpHeaderFromAttribute(static::LAST_NAME))
             );
         } else {
             $userDetails = new UWUserDetails(