【问题标题】:Keycloak is not returning full user detailsKeycloak 未返回完整的用户详细信息
【发布时间】: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 问题。顺便说一句,这个问题实际上是这个问题的重复:stackoverflow.com/questions/48458138/…
  • 您是否为客户提供了全部范围? lists.jboss.org/pipermail/keycloak-user/2018-October/…

标签: asp.net-web-api keycloak


【解决方案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} 我在问题中提到过。
猜你喜欢
  • 2015-10-01
  • 2016-10-27
  • 2020-11-16
  • 2017-09-29
  • 1970-01-01
  • 2017-03-17
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多