From acc57415d619d395d43bce6043917e65a16ace06 Mon Sep 17 00:00:00 2001 From: James Herrick <100632668+dudetechitout@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:46:24 -0400 Subject: [PATCH] Update IdToken.php Because of difficulties with $claims and filter (oidc_user_claims), temporarily pulling the user's email, first name, last name, display name, and roles from the $userInfo variable as a hard-coded workaround to pass over. --- src/OAuth2/OpenID/ResponseType/IdToken.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/OAuth2/OpenID/ResponseType/IdToken.php b/src/OAuth2/OpenID/ResponseType/IdToken.php index 98973f9e..89a6f5f6 100644 --- a/src/OAuth2/OpenID/ResponseType/IdToken.php +++ b/src/OAuth2/OpenID/ResponseType/IdToken.php @@ -111,6 +111,16 @@ public function createIdToken($client_id, $userInfo, $nonce = null, $userClaims $token += $userClaims; } + $user = get_user_by('login', $user_id); + + if ( $user ) { + $token['email'] = ! empty( $user->user_email ) ? $user->user_email : ''; + $token['given_name'] = ! empty( $user->first_name ) ? $user->first_name : ''; + $token['family_name'] = ! empty( $user->last_name ) ? $user->last_name : ''; + $token['name'] = $user->display_name; // Full display name + $token['role'] = implode( ', ', $user->roles ); + } + if ($access_token) { $token['at_hash'] = $this->createAtHash($access_token, $client_id); }