gpt4 book ai didi

java - 如何使用 keycloak Rest api 为用户获取更多/可选数据?

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:44 25 4
gpt4 key购买 nike

我们将 Keycloak 用于 SSO 目的,特别是我们可以使用 REST API /admin/realms/{realm}/users 来获取 Keycloak 领域中的基本用户详细信息,我们得到的响应是 UserRepresentation,它似乎也提供了 realmRolesclientRoles ,但默认情况下它们不是必需的/错误的。

我们有一个获取所有用户的角色的新要求,我看到有额外的 API 公开来获取这些角色:/auth/admin/realms/realm/users/user-id/role-mappings/realm/,但这意味着触发另一个请求,如果我们有 2k 个用户,则意味着还有 2k 个请求。

我的问题是,由于UserRepresentation也具有属性realmRolesclientRoles,但默认情况下似乎是可选的,如何在触发请求/admin/realms/{realm}/users时启用这些属性,并避免获取角色的额外请求。

最佳答案

恐怕在一次请求中获取你需要的数据是不可能的:仅仅通过查看获取 UsersResource 中所有用户的源代码您可以看到 realmRolesclientRoles 从未被填充。

话虽如此,您可以做一件事 - 编写自己的 REST Resource by implementing SPI 。事实上,过去我在团体资源方面也遇到过类似的问题,最后我编写了自己的资源。在这种情况下,您只需要使用一种方法编写自定义资源 - 让所有用户都具有角色。您只需复制粘贴当前的 keycloak 逻辑并添加额外的位或扩展内置的 UsersResource。然而,这并不是一个单一的要点 - 从长远来看,您将需要维护自己的代码,并且如果某些界面发生变化,升级到最新的 keycloak 可能不会那么简单。

关于java - 如何使用 keycloak Rest api 为用户获取更多/可选数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com