首页 > 解决方案 > Keycloak 说它导入用户但他们没有出现

问题描述

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

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

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

更新:


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

我打开了跟踪级别日志记录,发现错误消息 [org.keycloak.storage.UserStorageManager] (default task-1) Removed invalid user 'John Doe'

我搜索了源代码并找到了函数importValidation,它调用了删除用户的函数。当存储提供程序为 null 或在用户和领域上调用 validate 并返回 null UserModel 时,似乎会发生这种情况。


标签: keycloakopenldap

解决方案


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


推荐阅读