Adding and removing users from Keycloak groups on role assignment
This commit is contained in:
parent
880e8c5aa8
commit
e70db447c8
|
@ -217,7 +217,7 @@ public class UserServiceImpl implements UserService {
|
||||||
item.setRole(roleName);
|
item.setRole(roleName);
|
||||||
item.setCreatedAt(Instant.now());
|
item.setCreatedAt(Instant.now());
|
||||||
this.entityManager.persist(item);
|
this.entityManager.persist(item);
|
||||||
this.keycloakService.assignClientRoleToUser(data.getId(), null, KeycloakRole.valueOf(roleName));
|
this.keycloakService.addUserToGroup(data.getId(), KeycloakRole.valueOf(roleName));
|
||||||
}
|
}
|
||||||
foundIds.add(item.getId());
|
foundIds.add(item.getId());
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ public class UserServiceImpl implements UserService {
|
||||||
this.entityManager.flush();
|
this.entityManager.flush();
|
||||||
|
|
||||||
List<UserRoleEntity> toDelete = existingItems.stream().filter(x-> foundIds.stream().noneMatch(y-> y.equals(x.getId()))).collect(Collectors.toList());
|
List<UserRoleEntity> toDelete = existingItems.stream().filter(x-> foundIds.stream().noneMatch(y-> y.equals(x.getId()))).collect(Collectors.toList());
|
||||||
toDelete.forEach(x -> this.keycloakService.removeClientRoleFromUser(data.getId(), null, KeycloakRole.valueOf(x.getRole())));
|
toDelete.forEach(x -> this.keycloakService.removeUserFromGroup(data.getId(), KeycloakRole.valueOf(x.getRole())));
|
||||||
this.deleterFactory.deleter(UserRoleDeleter.class).deleteAndSave(toDelete);
|
this.deleterFactory.deleter(UserRoleDeleter.class).deleteAndSave(toDelete);
|
||||||
|
|
||||||
this.entityManager.flush();
|
this.entityManager.flush();
|
||||||
|
|
Loading…
Reference in New Issue