diff --git a/src/Control/SAMLController.php b/src/Control/SAMLController.php index cc4eff7..7146340 100644 --- a/src/Control/SAMLController.php +++ b/src/Control/SAMLController.php @@ -156,8 +156,6 @@ public function acs() return $this->getRedirect(); } - $this->extend('updateGuid', $guid); - $attributes = $auth->getAttributes(); // Allows setups that map GUID (email format) to email {@see SAMLConfiguration::$expose_guid_as_attribute}. @@ -166,6 +164,7 @@ public function acs() } $this->extend('updateAttributes', $attributes); + $this->extend('updateGuid', $guid); $fieldToClaimMap = array_flip(Member::config()->claims_field_mappings); diff --git a/src/Helpers/SAMLHelper.php b/src/Helpers/SAMLHelper.php index 6681542..e6273ea 100644 --- a/src/Helpers/SAMLHelper.php +++ b/src/Helpers/SAMLHelper.php @@ -125,7 +125,7 @@ public function binToStrGuid($object_guid) $hex_guid_to_guid_str .= substr($hex_guid, 16 - 2 * $k, 2); } $hex_guid_to_guid_str .= '-' . substr($hex_guid, 16, 4); - $hex_guid_to_guid_str .= '-' . substr($hex_guid, 20); + $hex_guid_to_guid_str .= '-' . substr($hex_guid, 20, 12); return strtoupper($hex_guid_to_guid_str); } diff --git a/tests/php/Helpers/SAMLHelperTest.php b/tests/php/Helpers/SAMLHelperTest.php index fd793a3..14df03c 100644 --- a/tests/php/Helpers/SAMLHelperTest.php +++ b/tests/php/Helpers/SAMLHelperTest.php @@ -36,6 +36,6 @@ public function guidProvider() public function testBinToStrGuid() { $result = SAMLHelper::singleton()->binToStrGuid('thequ!ckbrownf0xjumpsov3rthel4zyd06'); - $this->assertSame('71656874-2175-6B63-6272-6F776E6630786A756D70736F7633727468656C347A79643036', $result); + $this->assertSame('71656874-2175-6B63-6272-6F776E663078', $result); } }