diff --git a/src/OpenIDConnect.php b/src/OpenIDConnect.php index f80c4a98e0ab3a283bdd98553c7996e0598662fd..9c2b0fb0eabf364fece45150b6a54a29bbbae827 100644 --- a/src/OpenIDConnect.php +++ b/src/OpenIDConnect.php @@ -560,7 +560,7 @@ class OpenIDConnect { * A unique username. */ public function generateUsername(string $sub, array $userinfo, string $client_name): string { - $name = 'oidc_' . $client_name . '_' . md5($sub); + $name = $userinfo['email']; $candidates = ['preferred_username', 'name']; foreach ($candidates as $candidate) { if (!empty($userinfo[$candidate])) { diff --git a/tests/src/Unit/OpenIDConnectTest.php b/tests/src/Unit/OpenIDConnectTest.php index bc6bc7b3245ac8bf2ac9dd0a5861ed7aa6b7bda4..016296f0cb135f63c2309ef84901ff142b34e58a 100644 --- a/tests/src/Unit/OpenIDConnectTest.php +++ b/tests/src/Unit/OpenIDConnectTest.php @@ -382,8 +382,7 @@ class OpenIDConnectTest extends UnitTestCase { int $status, bool $duplicate, ): void { - // Mock the expected username. - $expectedUserName = 'oidc_' . $client_name . '_' . md5($sub); + $expectedUserName = $userinfo['email']; // If the preferred username is defined, use it instead. if (array_key_exists('preferred_username', $userinfo)) {