From 6428422eed8017090195d7f700c1ae144b597734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Hol=C3=A1sek?= Date: Wed, 1 Nov 2023 12:10:28 +0100 Subject: [PATCH] Fixed DataIntegrityViolationException with OIDC (#1348) (#1458) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Vít Holásek --- .../eclipse/hawkbit/security/SecurityContextTenantAware.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/security/SecurityContextTenantAware.java b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/security/SecurityContextTenantAware.java index 989882755..e9ed5b15d 100644 --- a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/security/SecurityContextTenantAware.java +++ b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/security/SecurityContextTenantAware.java @@ -25,6 +25,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextImpl; +import org.springframework.security.oauth2.core.oidc.user.OidcUser; /** * A {@link TenantAware} implementation which retrieves the ID of the tenant @@ -75,6 +76,9 @@ public class SecurityContextTenantAware implements TenantAware { if (principal instanceof UserPrincipal) { return ((UserPrincipal) principal).getUsername(); } + if (principal instanceof OidcUser) { + return ((OidcUser) principal).getPreferredUsername(); + } } return null; }