From cff3e0bcd6d8fc7f98969903e91d04d0c4d0d698 Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 21 Oct 2022 15:42:56 +0300 Subject: [PATCH] keycloak auth log all roles --- .../KeycloakRestTemplateAuthenticationProvider.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java index 8f09f25c5..ddf52865d 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java @@ -92,7 +92,7 @@ public class KeycloakRestTemplateAuthenticationProvider implements Authenticatio String principalName = AdapterUtils.getPrincipalName(deployment, accessToken); final KeycloakPrincipal principal = new KeycloakPrincipal<>(principalName, skSession); Set roles = AdapterUtils.getRolesFromSecurityContext(skSession); - roles = roles + Set effectiveRoles = roles .stream() .map(s -> { UserRole userRole = roleMapping.get(s); @@ -100,11 +100,15 @@ public class KeycloakRestTemplateAuthenticationProvider implements Authenticatio }) .filter(Objects::nonNull) .collect(Collectors.toSet()); - List realmRoles = roles.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList()); - final KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, skSession); + List realmRoles = effectiveRoles.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList()); + final KeycloakAccount account = new SimpleKeycloakAccount(principal, effectiveRoles, skSession); KeycloakAuthenticationToken keycloakAuthenticationToken = new KeycloakAuthenticationToken(account, false, realmRoles); keycloakAuthenticationToken.setAuthenticated(true); - log.debug("login successful: login {}, roles {}", principalName, String.join(";", roles)); + log.debug("login successful: login {}, roles from keycloak: {}; effective roles {}", + principalName, + String.join(";", roles), + String.join(";", effectiveRoles) + ); return keycloakAuthenticationToken; } catch (VerificationException vex) {