Keycloak 说它导入用户但他们没有出现

Keycloak says it imports users but they don't show up

我已经设置了 keycloak 以从 openldap 服务器导入用户。作为测试 运行,我使用默认的 h2 来查看是否可以得到它 运行ning。它正确连接和验证。一旦我点击同步所有用户,它就会报告成功 x 导入用户,0 个更改用户。进入“管理”=>“用户”并单击“查看所有用户”后,它只显示一个通用用户名用户,其电子邮件为 user@user.com.
我从 server.log 获得的唯一信息是下面的警告消息。

我不确定要寻找什么方向来解决这个问题。有没有其他地方我应该寻找错误消息或我应该尝试的其他事情?

2018-12-19 15:56:31,209 WARN [org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction](默认任务 7)不存在键 LoginFailureKey 的缓存项 [realmId=namis。 userId=14ed02d1-3ac3-4911-a377-80863f2bde70 ]

更新:


我在导入后检查了 user_entity table 并且用户在那里。一旦我转到“管理用户”,领域中的用户就会从数据库中消失。

我打开了跟踪级别的日志记录并找到了错误消息 [org.keycloak.storage.UserStorageManager](默认任务 1)删除了无效用户 'John Doe'

我搜索了源代码,找到了函数 importValidation,它调用了删除用户的函数。当存储提供程序为空或在用户和领域上调用验证并且它 returns 一个空的 UserModel 时,这似乎会发生。


原来我有一个映射器不正确。用户名映射器未映射到正确的 ldap 属性。

我今天也遇到了这个问题,可以完全删除用户名映射器,因为用户名属性已经从用户联合设置中的用户名 LDAP 属性映射。