diff --git a/src/main/java/io/phasetwo/keycloak/resources/EventsResourceProviderFactory.java b/src/main/java/io/phasetwo/keycloak/resources/EventsResourceProviderFactory.java index ee1b4fb..ff6caff 100644 --- a/src/main/java/io/phasetwo/keycloak/resources/EventsResourceProviderFactory.java +++ b/src/main/java/io/phasetwo/keycloak/resources/EventsResourceProviderFactory.java @@ -86,9 +86,13 @@ private void addRealmAdminRoles(RealmManager manager, RealmModel realm) { private void addRoles(ClientModel client, RoleModel parent) { String[] names = new String[] {ROLE_PUBLISH_EVENTS}; for (String name : names) { - RoleModel role = client.addRole(name); - role.setDescription("${role_" + name + "}"); - parent.addCompositeRole(role); + if (client.getRole(name) == null) { + RoleModel role = client.addRole(name); + role.setDescription("${role_" + name + "}"); + parent.addCompositeRole(role); + } else { + log.infof("Role %s already exists. Skipping...", name); + } } }