keycloak auth log all roles

This commit is contained in:
ialbert 2022-10-21 15:42:56 +03:00
parent 19d013c096
commit cff3e0bcd6

View file

@ -92,7 +92,7 @@ public class KeycloakRestTemplateAuthenticationProvider implements Authenticatio
String principalName = AdapterUtils.getPrincipalName(deployment, accessToken);
final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = new KeycloakPrincipal<>(principalName, skSession);
Set<String> roles = AdapterUtils.getRolesFromSecurityContext(skSession);
roles = roles
Set<String> 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<SimpleGrantedAuthority> realmRoles = roles.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());
final KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, skSession);
List<SimpleGrantedAuthority> 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) {