【问题标题】:How to search keycloak users by employeeNumber or by custom attributes?如何通过employeeNumber或自定义属性搜索keycloak用户?
【发布时间】:2021-03-22 20:37:42
【问题描述】:

我想使用employeeNumber 搜索keycloak 用户。我尝试检查 keycloak 文档,但没有找到任何基于employeeNumber/自定义属性进行搜索的 API。我正在使用下面的 API 来搜索具有管理员权限的用户。

http://localhost:8080/auth/admin/realms/Demo-Realm/users/?firstName=akshay

也试过

http://localhost:8080/auth/admin/realms/Demo-Realm/users/?search=akshay

【问题讨论】:

    标签: keycloak


    【解决方案1】:

    开箱即用,您可以从Keycloak Admin API 为端点执行:

    GET /{realm}/users
    

    人们可以阅读:

    Get users 返回用户列表,根据查询过滤 参数

    那些(可选)查询参数是:

    • briefRepresentation(布尔值);
    • 电子邮件(字符串);
    • 第一个(字符串);
    • 名字(字符串);
    • 姓氏(字符串);
    • max(最大结果大小(默认为 100))(整数);
    • 搜索(包含在用户名、名字或姓氏或电子邮件中的字符串);
    • 用户名(字符串)。

    如您所见,您无法搜索自定义属性。一个不太好的解决方案是获取所有用户 (max=-1),然后通过自定义属性进行过滤。

    另一个选项是通过添加您自己的自定义服务提供者接口 (SPI) 并添加您的自定义端点来扩展 Keycloak 功能。在那里,您可以利用UserQueryProvider 接口中的searchForUserByUserAttribute 方法。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 2018-03-30
      • 2019-04-16
      • 2015-12-17
      • 2022-01-23
      • 2022-11-14
      • 2018-12-10
      • 2017-12-04
      • 1970-01-01
      相关资源
      最近更新 更多