protected function parseRoleExternalAuthId(string $externalId): array
{
- $inputIds = preg_split('/(?<!\\\),/', $externalId);
+ $inputIds = preg_split('/(?<!\\\),/', strtolower($externalId));
$cleanIds = [];
foreach ($inputIds as $inputId) {
$user = User::query()->find($user->id);
$this->assertTrue($user->hasRole($role->id));
}
+
+ public function test_external_auth_id_matches_ignoring_case()
+ {
+ $user = $this->getViewer();
+ $role = Role::factory()->create(['display_name' => 'ABC123', 'external_auth_id' => 'WaRRioRs']);
+ $this->assertFalse($user->hasRole($role->id));
+
+ (new GroupSyncService())->syncUserWithFoundGroups($user, ['wArriors', 'penguiNs'], false);
+
+ $user = User::query()->find($user->id);
+ $this->assertTrue($user->hasRole($role->id));
+ }
}