From 62e911caf53366b9311fb9eb31cf2f166f5cef35 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 7 Nov 2025 09:58:38 +0100 Subject: [PATCH] Added `generateRandomWorkdayId` method in `SecurityConfig` to create random IDs if workday id shall be ignored --- .../java/de/avatic/lcc/config/SecurityConfig.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/avatic/lcc/config/SecurityConfig.java b/src/main/java/de/avatic/lcc/config/SecurityConfig.java index a9884bc..0d2dc86 100644 --- a/src/main/java/de/avatic/lcc/config/SecurityConfig.java +++ b/src/main/java/de/avatic/lcc/config/SecurityConfig.java @@ -47,10 +47,7 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.OncePerRequestFilter; import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.function.Supplier; @@ -288,7 +285,7 @@ public class SecurityConfig { if (user == null && email != null && (ignoreWorkdayClaim || workdayId != null)) { var isFirstUser = userRepository.count() == 0; - userId = userRepository.update(LccOidcUser.createDatabaseUser(email, oidcUser.getGivenName(), oidcUser.getFamilyName(), ignoreWorkdayClaim ? email : workdayId, isFirstUser)); + userId = userRepository.update(LccOidcUser.createDatabaseUser(email, oidcUser.getGivenName(), oidcUser.getFamilyName(), ignoreWorkdayClaim ? generateRandomWorkdayId() : workdayId, isFirstUser)); mappedAuthorities.add(new SimpleGrantedAuthority(isFirstUser ? "ROLE_SERVICE" : "ROLE_NONE")); } else { log.debug("Unable to create user {} / {}", email, workdayId); @@ -308,6 +305,10 @@ public class SecurityConfig { } + private String generateRandomWorkdayId() { + return UUID.randomUUID().toString().replaceAll("-", "").substring(0, 32); + } + @Bean @Profile("!dev & !test") public BearerTokenResolver bearerTokenResolver(JwtTokenService jwtTokenService) {