Keycloak 未返回完整的用户详细信息

Posted

技术标签:

【中文标题】Keycloak 未返回完整的用户详细信息【英文标题】:Keycloak is not returning full user details 【发布时间】:2019-08-09 14:29:45 【问题描述】:

详情:

我们正在使用带有 Asp.Net WebAPI 的 Keycloak 身份验证服务器。

现在我需要根据 GUID 获取 Keycloak 用户详细信息。基本上我对与用户相关的角色、组感兴趣。

我试过了: GetUser

URI: GET /admin/realms/realm/users/id

它正在返回用户详细信息,但收到的用户详细信息中没有几个属性。

请帮助解决此问题。

【问题讨论】:

对于角色,您需要获取角色映射。 完全正确...我已经使用相同的 URL 进行角色映射并且它正在工作。但我担心的是,我上面提到的 URI 会根据 Keycloak 文档返回 User 并且用户表示具有角色、组的数组,但是在达到那个端点时它不会返回所有这些东西。所以我试图找出这种行为背后的原因。 @Xtreme Biker,我确实还有 1 个问题,实际上我需要所有可用于 keycloak 用户的角色和组。 URI:/admin/realms/realm/groups/id/role-mappings/realm/available 使用这个端点,我得到了该用户可用的角色,但我没有找到任何端点来获得可用的角色团体。是否有任何端点可用?或者我需要对所有组和分配的用户组进行操作? 这将涉及另一个 SO 问题。顺便说一句,这个问题实际上是这个问题的重复:***.com/questions/48458138/… 您是否为客户提供了全部范围? lists.jboss.org/pipermail/keycloak-user/2018-October/… 【参考方案1】:

您不会从此 API 获取角色信息。您必须调用角色映射。

这是 API。您必须在 API 中传递用户 ID

http://$KEY_CLOAK_IP/auth/admin/realms/MeetingApp/users+'/' + userid + '/role-mappings/realm 

【讨论】:

完全正确...我已经使用了上面提到的相同 URL,它正在工作。但我担心的是,我上面提到的 URI 会根据 Keycloak 文档返回 User 并且用户表示具有角色、组的数组,但是在达到那个端点时它不会返回所有这些东西。所以我试图找出这种行为背后的原因。 @XtremeBiker,当我开始阅读 keycoak 文档时,我得到了返回角色的端点“/admin/realms/realm/users/id/role-mappings/realm”分配给用户。但我担心的是,我上面提到的 URI 会根据 Keycloak 文档返回用户,并且用户表示具有角色、组的数组,但是在达到那个端点时它不会返回所有这些东西。跨度> URI: GET /admin/realms/realm/users/id 我在问题中提到过。

以上是关于Keycloak 未返回完整的用户详细信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 rest admin api 的情况下以编程方式(java)更新 keycloak 的用户详细信息?

Spring Security Oauth2:主体对象未返回扩展的用户详细信息

BambooHR API 未提供完整的员工详细信息

Keycloak:Admin-cli 添加 SMTP 服务器详细信息?

Keycloak - 重置密码时未显示用户未找到的消息信息

如何使用 html/html5 中的用户输入获取完整的地理位置详细信息?