首页 > 解决方案 > 在 Keycloak 中针对客户端对用户进行身份验证

问题描述

我有一个带有领域和客户端的 Keycloak 服务器设置。我在客户端上设置了授权,并且能够在管理界面中评估身份验证。

当我单击“显示授权数据”时,我可以在响应中看到一个authorization带有permissions.

我有一个 Web 客户端,它通过 keycloak 使用重定向进行 oidc 身份验证。我想限制哪些 keyclock 用户能够登录到客户端,所以我想授权登录,但我无法authorization在 JWT 中看到该属性。

我是否完全误解了它的工作原理,或者我可以做些什么来查看该属性?

标签: javascriptkeycloakopenid-connect

解决方案


好的,我终于明白了。简短的回答 - 我需要 RTFM。

长答案 - 我需要两次点击令牌端点。第一次用grant_type =authorization_code获取访问令牌。然后再次使用 grant_type = urn:ietf:params:oauth:grant-type:uma-ticket(并在标头中使用访问令牌)以获取 keycloak 客户端进行身份验证。

如果第二个响应返回 403 - access_denied,那么我拒绝登录,否则,我允许用户登录我的系统。

我需要的特定位可以在文档中找到:https ://www.keycloak.org/docs/6.0/authorization_services/#_service_obtaining_permissions


推荐阅读