Keycloak LDAP映射器值存储及用户API查询问题咨询
Keycloak相关问题解答
1. Keycloak是否会将LDAP Mapper的值存储在自身数据库中?
分两种情况:
- 若采用导入模式(将LDAP用户导入Keycloak本地存储):LDAP映射器生成的属性会和用户基础信息一同存入Keycloak数据库。
- 若采用实时同步模式(仅实时从LDAP拉取数据):Keycloak不会存储这些映射后的属性,每次需要时都会直接从LDAP获取并完成映射。
2. LDAP映射器生成的属性存储表名
LDAP映射器生成的用户扩展属性,统一存储在USER_ATTRIBUTES表中:
- 表中的
USER_ID字段关联USER_ENTITY表的ID,用于绑定到具体用户; NAME字段存属性名(比如你提到的position),VALUE字段存对应的属性值。
3. 带空格的LDAP属性值无法查询的问题
Keycloak Admin API的q参数会默认把空格解析为多个查询条件的分隔符,所以带空格的属性值需要用双引号包裹作为整体条件,正确的请求示例如下:
http://localhost:8080/admin/realms/realm/users?q=emailid:<email> position:"Deputy Manager"
也可以将空格做URL编码(替换为%20),但用双引号包裹的方式更直观且符合参数语法规范。
内容的提问来源于stack exchange,提问作者Naresh Manthena
相关产品推荐
相关产品推荐

