keycloak rest api查询是不是有Not条件

Posted

技术标签:

【中文标题】keycloak rest api查询是不是有Not条件【英文标题】:Does keycloak rest api query have Not conditionkeycloak rest api查询是否有Not条件 【发布时间】:2020-02-02 19:57:04 【问题描述】:

Keycloak REST API 允许列出用户: http://localhost:8080/auth/admin/realms//用户

还有什么对使用以下查询过滤用户更有用: http://localhost:8080/auth/admin/realms//users?firstName=Test

是否可以使用排除条件编写查询?例如:

http://localhost:8080/auth/admin/realms//users?firstName!=AnyName(该示例不起作用,作为响应,整个用户列表返回)。或者我知道这是一门“火箭科学”,但可能类似于 http://localhost:8080/auth/admin/realms//users?role!=Admin ...

【问题讨论】:

【参考方案1】:

简单的答案是。但是您可以创建自定义 REST 端点,如 here 所述。

另请参阅:

REST API 文档: https://www.keycloak.org/docs-api/7.0/rest-api/#_users_resource

源代码: https://github.com/keycloak/keycloak/blob/b4b3527df7656bfaaee351ec414e56c683c134c2/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java#L179

【讨论】:

感谢您的详细解答!我更喜欢.Net,对我来说更简单的是在这种情况下围绕简单的 List() 结果实现一些包装器(Facade)。有一个“最大”参数而不是从其他分页开始是很奇怪的。如何在 100 的默认常量(默认值)之后在另一侧获取其他记录而不带来您的限制:)? 查询参数&first=0&max=20可以得到按用户名排序的前20个用户。 &first=20&max=20 可以获得第二个 20 用户。 &first=40&max=20 可以获得第 3 20 个用户。 感谢您的回答。仍然不清楚如何获得用户总数。当我不知道我有多少条记录时,如何显示分页。当然发现不可能在得到 N 个之前对项目进行排序。 可以通过http://localhost:8080/auth/admin/realms/users/count获取用户总数。

以上是关于keycloak rest api查询是不是有Not条件的主要内容,如果未能解决你的问题,请参考以下文章

从 Keycloak 中的 REST API 中提取角色

哪些角色允许 Keycloak 领域中的用户使用 Admin-REST-API?

Keycloak :REST API 调用通过管理员用户名和密码获取用户的访问令牌

如何使用 REST API 在 keycloak 中重置用户密码

如何从 Keycloak REST API 获取用户?

如何使用 httppost/rest-api 从 keycloak 获取用户列表