keycloak-config-cli icon indicating copy to clipboard operation
keycloak-config-cli copied to clipboard

Group management fails with case sensitivity

Open col-panic opened this issue 9 months ago • 4 comments

Current Behavior

I have a realm in json format, where multiple groups are defined, such as

"groups": [
    {
      "name": "GroupArzt",
      "path": "/GroupArzt"
    },
    {
      "name": "GroupAssistent",
      "path": "/GroupAssistent"
    },
    {
      "name": "GroupMPA",
      "path": "/GroupMPA"
    },
    {
      "name": "GroupMPK",
      "path": "/GroupMPK"
    },
    {
      "name": "GroupPraktikant",
      "path": "/GroupPraktikant"
    },
    {
      "name": "GroupIntern",
      "path": "/GroupIntern"
    },
    {
      "name": "GroupThirdParty",
      "path": "/GroupThirdParty"
    }
  ]

On executing like

java -jar $KC_CONFIG_CLI_JAR \
	--keycloak.url=http://keycloak:8080/keycloak/auth \
	--keycloak.ssl-verify=false \
   	--keycloak.user=KeycloakAdmin \
  	--keycloak.password=${ADMIN_PASSWORD} \
 	--import.validate=true \
    --import.var-substitution.enabled=true \
    --import.files.locations=$RESULT_FILE

I started to receive messages like

2024-05-15 08:52:27.015 ERROR 157 --- [           main] d.a.k.config.KeycloakConfigRunner        : Create method returned status Conflict (Code: 409); expected status: Created (201)

with the respective keycloak message

keycloak-1  | 2024-05-15 08:54:43,415 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (executor-thread-4) SQL Error: 1062, SQLState: 23000
keycloak-1  | 2024-05-15 08:54:43,415 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (executor-thread-4) Duplicate entry '8379d9e8-3a17-49f4-93a5-4e6235ab0f1a- -GroupMPA' for key 'SIBLING_NAMES'

The database entry is

my:eemaster_keycloak@192/eemaster_keycloak=> select * from KEYCLOAK_GROUP;
                  ID                  |      NAME       | PARENT_GROUP |               REALM_ID               
--------------------------------------+-----------------+--------------+--------------------------------------
 8b5e5de8-a142-4e8c-bed5-539bb5e67bde | GroupArzt       |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 41dd284d-c730-434b-bb9a-c475f94564fb | GroupAssistent  |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 efded937-212b-4c6b-acbb-51f902ebcb54 | GroupIntern     |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 638b5fa8-d69e-46cc-bee8-ea6448c7e41c | GroupMpa        |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 bb242305-8878-4430-88f5-fd22a19c0648 | GroupMpk        |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 4ff4c67c-cf74-46f9-8cc0-2746ee6974d7 | GroupPraktikant |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
 d272d980-98b2-464a-92ae-ca486448e286 | GroupThirdParty |              | 8379d9e8-3a17-49f4-93a5-4e6235ab0f1a 
(7 rows)

Expected Behavior

There should not be an ERROR happening.

Steps To Reproduce

See above

Environment

  • Keycloak Version: 23.0.7
  • keycloak-config-cli Version: 5.12.0 for 23.0.7
  • Java Version: 17

Anything else?

No response

col-panic avatar May 15 '24 09:05 col-panic