From 2670453d05a796fda0cbaa217df41c14aef34d90 Mon Sep 17 00:00:00 2001 From: "yorlen.guirado" Date: Tue, 21 Jun 2022 09:31:02 -0400 Subject: [PATCH] Adding code for roles mapping in RabbitMqUserRepository extracted from SqlServerUserRepository --- .../keycoak/RabbitMqUserRepository.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/stoneassemblies/keycoak/RabbitMqUserRepository.java b/src/main/java/stoneassemblies/keycoak/RabbitMqUserRepository.java index 124ce09..86223a1 100644 --- a/src/main/java/stoneassemblies/keycoak/RabbitMqUserRepository.java +++ b/src/main/java/stoneassemblies/keycoak/RabbitMqUserRepository.java @@ -7,7 +7,7 @@ import stoneassemblies.keycoak.interfaces.UserRepository; import stoneassemblies.keycoak.models.User; -import java.util.ArrayList; +import java.util.*; import java.util.Collections; import java.util.List; import java.util.logging.Logger; @@ -226,7 +226,19 @@ private User getUser(JSONObject userJsonObject) { if (userJsonObject.has("email")) { user.setEmail(userJsonObject.getString("email")); } + + String commaSeparatedRoles = null; + + if (userJsonObject.has("Roles")) { + commaSeparatedRoles = userJsonObject.getString("Roles"); + } + if (commaSeparatedRoles != null) { + List roles = Arrays.stream(commaSeparatedRoles.split(",")).map(s -> s.trim()).filter(s -> !s.equals("")).collect(Collectors.toList()); + user.setRoles(roles); + } else { + user.setRoles(new ArrayList<>()); + } return user; } }