daniel-frak / keycloak-user-migration

A Keycloak plugin for migrating users from legacy systems
MIT License
285 stars 130 forks source link

Legacy role conversation fields becomes empty after save #125

Open Arsync opened 1 year ago

Arsync commented 1 year ago

Fields like 'Console display name' and 'Rest client URI (required)' is filled, but legacy conversations empty. Keycloak (in docker) version 20.0.2, 21.0.2

I've missed something in keycloak configuration or docker image settings?

daniel-frak commented 3 months ago

Hi! Sorry for getting to this so late.

It looks like there is indeed a bug, though the bug appears to be in Keycloak itself.

I have confirmed locally that saving a single value like this: image

Ends up with the value seemingly gone: image

However, it seems that the value is actually saved, if you look at the response JSON (the ROLE_MAP property): image

Saving multiple values at once seems to show them correctly: image

Therefore, it seems to be a cosmetic problem with Keycloak's UI.

Perhaps it's connected to the issue below: https://github.com/keycloak/keycloak/issues/24927

The correct approach would be to create an issue in the Keycloak repository (and describe the deserialization issues of MULTIVALUED_STRING_TYPE in Keycloak UI). Unfortunately, I don't have the time to investigate this further at the moment :(

As a silver lining, a problem like that is bound to be noticed by many people, so perhaps the issue will go away in Keycloak 25?