fix(616): handle null preferredUsername in OIDC user service (#620)

This commit is contained in:
Daniel Graf
2026-01-03 14:30:28 +01:00
committed by GitHub
parent 6f3804b362
commit 6b5b6648a6

View File

@@ -52,8 +52,17 @@ public class CustomOidcUserService extends OidcUserService {
OidcUser oidcUser = getDefaultUser(userRequest);
String preferredUsername = userRequest.getIdToken().getPreferredUsername();
if (preferredUsername == null) {
preferredUsername = oidcUser.getPreferredUsername();
}
if (preferredUsername == null && oidcUser.getUserInfo() != null) {
preferredUsername = oidcUser.getUserInfo().getPreferredUsername();
}
if (preferredUsername == null) {
preferredUsername = oidcUser.getEmail();
}
if (preferredUsername == null) {
preferredUsername = oidcUser.getGivenName().toLowerCase() + "." + oidcUser.getFamilyName().toLowerCase();
}
String oidcUserId = userRequest.getIdToken().getIssuer().toString() + ":" + userRequest.getIdToken().getSubject();
String displayName = getDisplayName(oidcUser, preferredUsername);