diff --git a/composer.json b/composer.json
index fc5ac524316fa1e797a0d868f288b1393b8bbba5..17cf9d25687bb77b5a6b907c905108c057af952e 100644
--- a/composer.json
+++ b/composer.json
@@ -4,7 +4,7 @@
   "type": "library",
   "homepage": "https://git.doit.wisc.edu/adi-ia/uw-php-security",
   "license": "Apache-2.0",
-  "version": "2.0.1",
+  "version": "2.1.0",
   "authors": [{
     "name": "UW-Madison DoIT ADI Integrated Applications",
     "email": "adi-ia@lists.wisc.edu",
diff --git a/composer.lock b/composer.lock
index 2971b0dfcf35d8e1aa8f919f4d322051cb5df6c5..461aa07d1e4027ce581c6de62b871853804b9bd2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "8f6e29a0b7f012c3a62df9e5899d57d3",
-    "content-hash": "9e664849ddf46e1a2b66fd5185bf57b8",
+    "hash": "04e36a4c8fb561534363967c2928a542",
+    "content-hash": "1f9986fcd261b43d38be581603b2af13",
     "packages": [],
     "packages-dev": [
         {
diff --git a/src/main/edu/wisc/doit/uwphps/UWUserDetails.php b/src/main/edu/wisc/doit/uwphps/UWUserDetails.php
index 958066ec5d62760c1943c79db002476745e36ac5..deea01daf7d9f95b1ce46f873464043dd0473ee1 100644
--- a/src/main/edu/wisc/doit/uwphps/UWUserDetails.php
+++ b/src/main/edu/wisc/doit/uwphps/UWUserDetails.php
@@ -26,6 +26,8 @@ class UWUserDetails implements UserDetails
     private $firstName;
     /** @var string */
     private $lastName;
+    /** @var array */
+    private $memberships;
 
     /**
      * UWUserDetails constructor.
@@ -48,7 +50,8 @@ class UWUserDetails implements UserDetails
         $source,
         $isisEmplid,
         $firstName,
-        $lastName
+        $lastName,
+        $memberships
     ) {
         $this->eppn = $eppn;
         $this->pvi = $pvi;
@@ -59,6 +62,7 @@ class UWUserDetails implements UserDetails
         $this->isisEmplid = $isisEmplid;
         $this->firstName = $firstName;
         $this->lastName = $lastName;
+        $this->memberships = $memberships;
     }
 
     /**
@@ -133,4 +137,12 @@ class UWUserDetails implements UserDetails
         return $this->lastName;
     }
 
+    /**
+     * {@inheritdoc}
+     */
+    public function getIsMemberOf()
+    {
+        return $this->memberships;
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/edu/wisc/doit/uwphps/UserDetails.php b/src/main/edu/wisc/doit/uwphps/UserDetails.php
index 6153cee0f1a4cc2ab1adb08a288c631f49ec5aa7..cc134bff5716fc6b61184a3c9eabaf1ba2817168 100644
--- a/src/main/edu/wisc/doit/uwphps/UserDetails.php
+++ b/src/main/edu/wisc/doit/uwphps/UserDetails.php
@@ -73,5 +73,12 @@ interface UserDetails
      * @return string|null
      */
     public function getLastName();
+
+    /**
+     * The user's Manifest group memberships delivered to the application.
+     *
+     * @return array|null
+     */
+    public function getIsMemberOf();
     
 }
diff --git a/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
index b163dbc0d1d83882c16dad7925b7a24aeeee4993..1a6c9cf6e9ef3e4ac942f70747df19cecd73480f 100644
--- a/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/UserDetailsProvider.php
@@ -20,6 +20,7 @@ abstract class UserDetailsProvider
     const UDDS = "udds";
     const SOURCE = "source";
     const ISIS_EMPLID = "isisEmplid";
+    const MEMBER_OF = "isMemberOf";
 
     /** Delimiter used by multi-valued headers */
     const DELIMITER = ';';
diff --git a/src/main/edu/wisc/doit/uwphps/local/LocalUserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/local/LocalUserDetailsProvider.php
index 9abe0cb6547d3c832cc59e9937a17da9419597d2..e21a9dab468d78afaeb6c97229ab743e942bd6eb 100644
--- a/src/main/edu/wisc/doit/uwphps/local/LocalUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/local/LocalUserDetailsProvider.php
@@ -53,7 +53,8 @@ class LocalUserDetailsProvider extends PreauthUserDetailsProvider
             $attributes[static::SOURCE],
             $attributes[static::ISIS_EMPLID],
             $attributes[static::FIRST_NAME],
-            $attributes[static::LAST_NAME]
+            $attributes[static::LAST_NAME],
+            explode(static::DELIMITER, $attributes[static::MEMBER_OF])
         );
     }
 
diff --git a/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
index ed174dadcddc56f23fdfeb660c0c6825159eed19..4bd197b22ef438dcd790115977646c617732be10 100644
--- a/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProvider.php
@@ -42,19 +42,21 @@ class FederatedPreauthUserDetailsProvider extends UserDetailsProvider
                 getenv($this->httpHeaderFromAttribute(static::SOURCE)),
                 getenv($this->httpHeaderFromAttribute(static::ISIS_EMPLID)),
                 getenv($this->httpHeaderFromAttribute(static::FIRST_NAME)),
-                getenv($this->httpHeaderFromAttribute(static::LAST_NAME))
+                getenv($this->httpHeaderFromAttribute(static::LAST_NAME)),
+                explode(static::DELIMITER, getenv($this->httpHeaderFromAttribute(static::MEMBER_OF)))
             );
         } else {
             $userDetails = new UWUserDetails(
                 getenv(static::EPPN),
                 getenv(static::SPVI),
                 getenv(static::FULL_NAME),
-                getenv(static::UDDS),
+                explode(static::DELIMITER, getenv(static::UDDS)),
                 getenv(static::EMAIL),
                 getenv(static::SOURCE),
                 getenv(static::ISIS_EMPLID),
                 getenv(static::FIRST_NAME),
-                getenv(static::LAST_NAME)
+                getenv(static::LAST_NAME),
+                explode(static::DELIMITER, getenv(static::MEMBER_OF))
             );
         }
 
diff --git a/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php b/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
index 7b2740c32e91ca9e0490f147803a00268612470c..9816931f3edb576548b3fc9bf354415cccd65b09 100644
--- a/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
+++ b/src/main/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProvider.php
@@ -41,19 +41,21 @@ class PreauthUserDetailsProvider extends UserDetailsProvider
                 getenv($this->httpHeaderFromAttribute(static::SOURCE)),
                 getenv($this->httpHeaderFromAttribute(static::ISIS_EMPLID)),
                 getenv($this->httpHeaderFromAttribute(static::FIRST_NAME)),
-                getenv($this->httpHeaderFromAttribute(static::LAST_NAME))
+                getenv($this->httpHeaderFromAttribute(static::LAST_NAME)),
+                explode(static::DELIMITER, getenv($this->httpHeaderFromAttribute(static::MEMBER_OF)))
             );
         } else {
             $userDetails = new UWUserDetails(
                 getenv(static::EPPN),
                 getenv(static::PVI),
                 getenv(static::FULL_NAME),
-                getenv(static::UDDS),
+                explode(static::DELIMITER, getenv(static::UDDS)),
                 getenv(static::EMAIL),
                 getenv(static::SOURCE),
                 getenv(static::ISIS_EMPLID),
                 getenv(static::FIRST_NAME),
-                getenv(static::LAST_NAME)
+                getenv(static::LAST_NAME),
+                explode(static::DELIMITER, getenv(static::MEMBER_OF))
             );
         }
 
diff --git a/src/main/resources/localuser.json b/src/main/resources/localuser.json
index 731030b5374e207e9dba0c72eb56be13e4673655..b9e0c05910badc35526c5ce0c9aecc70fbe265e9 100644
--- a/src/main/resources/localuser.json
+++ b/src/main/resources/localuser.json
@@ -8,5 +8,6 @@
   "wiscEduUDDS": "A061234;A072345",
   "mail": "bucky.badger@wisc.edu",
   "source": "a_source",
-  "isisEmplid": "123456789"
+  "isisEmplid": "123456789",
+  "isMemberOf": "A06;A07"
 }
\ No newline at end of file
diff --git a/src/test/edu/wisc/doit/uwphps/local/LocalUserDetailsProviderTest.php b/src/test/edu/wisc/doit/uwphps/local/LocalUserDetailsProviderTest.php
index a277d06f1e2d2873d944954b517e722f3d18dc7a..c6af44f8f04cceda58e69d709f64ce71ae91a3b0 100644
--- a/src/test/edu/wisc/doit/uwphps/local/LocalUserDetailsProviderTest.php
+++ b/src/test/edu/wisc/doit/uwphps/local/LocalUserDetailsProviderTest.php
@@ -22,6 +22,7 @@ class LocalUserDetailsProviderTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals("123456789", $user->getIsisEmplid());
         $this->assertEquals("BUCKINGHAM", $user->getFirstName());
         $this->assertEquals("BADGER", $user->getLastName());
+        $this->assertEquals(['A06', 'A07'], $user->getIsMemberOf());
     }
 
     /** @test */
diff --git a/src/test/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProviderTest.php b/src/test/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProviderTest.php
index 5614843da4883a00ca3ab350f4a3be46fa3757b9..c79697b1b46a92e4fe1edc687f912e53517f1c66 100644
--- a/src/test/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProviderTest.php
+++ b/src/test/edu/wisc/doit/uwphps/preauth/FederatedPreauthUserDetailsProviderTest.php
@@ -11,9 +11,6 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
 
     use EnvironmentHelper;
 
-    /** @var array */
-    private $attributes;
-
     /** @var FederatedPreauthUserDetailsProvider */
     private $userProvider;
 
@@ -39,7 +36,8 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
             FederatedPreauthUserDetailsProvider::LAST_NAME => 'BADGER',
             FederatedPreauthUserDetailsProvider::SOURCE => 'a_source',
             FederatedPreauthUserDetailsProvider::SPVI => 'UW123A456',
-            FederatedPreauthUserDetailsProvider::ISIS_EMPLID => '123456789'
+            FederatedPreauthUserDetailsProvider::ISIS_EMPLID => '123456789',
+            FederatedPreauthUserDetailsProvider::MEMBER_OF => 'A06;A07'
         ];
     }
 
@@ -73,6 +71,10 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
             $user->getFirstName()
         );
         static::assertEquals($this->environment[FederatedPreauthUserDetailsProvider::LAST_NAME], $user->getLastName());
+        static::assertEquals(
+            explode(FederatedPreauthUserDetailsProvider::DELIMITER, $this->environment[FederatedPreauthUserDetailsProvider::MEMBER_OF]),
+            $user->getIsMemberOf()
+        );
     }
 
     /** @test */
@@ -96,6 +98,10 @@ class FederatedPreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCas
             $user->getFirstName()
         );
         static::assertEquals($this->environment[FederatedPreauthUserDetailsProvider::LAST_NAME], $user->getLastName());
+        static::assertEquals(
+            explode(FederatedPreauthUserDetailsProvider::DELIMITER, $this->environment[FederatedPreauthUserDetailsProvider::MEMBER_OF]),
+            $user->getIsMemberOf()
+        );
     }
 
     /** @test */
diff --git a/src/test/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProviderTest.php b/src/test/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProviderTest.php
index 7e6d7de6ed5e2a8ac06d6b509d5a120ac31df671..48fbed5886cd19dba6b54e0312f53ea74555a3c4 100644
--- a/src/test/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProviderTest.php
+++ b/src/test/edu/wisc/doit/uwphps/preauth/PreauthUserDetailsProviderTest.php
@@ -36,7 +36,8 @@ class PreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCase
             PreauthUserDetailsProvider::LAST_NAME => 'BADGER',
             PreauthUserDetailsProvider::SOURCE => 'a_source',
             PreauthUserDetailsProvider::PVI => 'UW123A456',
-            PreauthUserDetailsProvider::ISIS_EMPLID => '123456789'
+            PreauthUserDetailsProvider::ISIS_EMPLID => '123456789',
+            PreauthUserDetailsProvider::MEMBER_OF => 'A06;A07'
         ];
     }
 
@@ -65,6 +66,10 @@ class PreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCase
         static::assertEquals($this->environment[PreauthUserDetailsProvider::ISIS_EMPLID], $user->getIsisEmplid());
         static::assertEquals($this->environment[PreauthUserDetailsProvider::FIRST_NAME], $user->getFirstName());
         static::assertEquals($this->environment[PreauthUserDetailsProvider::LAST_NAME], $user->getLastName());
+        static::assertEquals(
+            explode(PreauthUserDetailsProvider::DELIMITER, $this->environment[PreauthUserDetailsProvider::MEMBER_OF]),
+            $user->getIsMemberOf()
+        );
     }
 
     /** @test */
@@ -82,6 +87,10 @@ class PreauthUserDetailsProviderTest extends \PHPUnit_Framework_TestCase
         static::assertEquals($this->environment[PreauthUserDetailsProvider::ISIS_EMPLID], $user->getIsisEmplid());
         static::assertEquals($this->environment[PreauthUserDetailsProvider::FIRST_NAME], $user->getFirstName());
         static::assertEquals($this->environment[PreauthUserDetailsProvider::LAST_NAME], $user->getLastName());
+        static::assertEquals(
+            explode(PreauthUserDetailsProvider::DELIMITER, $this->environment[PreauthUserDetailsProvider::MEMBER_OF]),
+            $user->getIsMemberOf()
+        );
     }
 
     /** @test */
diff --git a/src/test/resources/localuser.json b/src/test/resources/localuser.json
index 60704689076cf537659671938530c882a491c77f..6343d9041de3bb0d960720fd8f4cf809e02005b5 100644
--- a/src/test/resources/localuser.json
+++ b/src/test/resources/localuser.json
@@ -8,5 +8,6 @@
   "wiscEduUDDS": "A061234;A072345",
   "mail": "bucky.badger@wisc.edu",
   "source": "a_source",
-  "wiscEduIsisEmplid": "123456789"
+  "wiscEduIsisEmplid": "123456789",
+  "isMemberOf": "A06;A07"
 }
\ No newline at end of file