我正在研究从遗留系统到密钥泄露的迁移过程。根据这里的一些想法:https://github.com/Smartling/keycloak-user-migration-provider我们希望通过查找旧系统上某些专用端点的用户凭据,在登录时在keycloak中创建用户帐户。
作为其中的一部分,我需要用户ID保持与旧系统中的相同。
是否可以创建具有指定ID的用户,而不是依靠keycloak自动生成?
感谢。
答案 0 :(得分:3)
尝试通过API创建用户时遇到此问题,我查看了用户服务的代码。看起来由于用户的创建方式,目前无法设置用户ID。
从https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java中的代码专门在第https://github.com/keycloak/keycloak/blob/7cfe6addf01676939206e034a87c791460031032/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java#L115行上,用户首先使用用户名创建,然后更新。我相信id不是可更新的字段。因此目前无法实现。