Repolode
sventorben

sventorben/keycloak-restrict-client-auth

一个 Keycloak 扩展,可限制哪些用户能够登录指定的客户端。

Star
443
Fork
35
未关闭 Issue
11
最近提交
9天前

这是什么?

Keycloak 默认无法做到让部分用户能登录某个客户端、同时拒绝其他用户。本扩展补上了这一能力。为客户端添加名为 restricted-access 的客户端角色,或名为 Keycloak Client Resource 的授权资源,即可对其进行限制:只有拥有该角色的用户,或策略允许访问的用户,才能访问受限客户端。

限制在所有登录路径上都会生效。无论使用哪种认证流程,必需动作都会在每次登录结束时检查访问权限;客户端策略执行器则在签发令牌时检查,包括刷新令牌和令牌交换。

项目使用 Java 编写,以 Keycloak 提供者(provider)的形式安装。安装与配置方法可参见项目文档网站。

核心功能

  • 01通过客户端角色限制只有特定用户可以访问某个客户端。
  • 02支持使用授权资源策略作为另一种授权方式。
  • 03无论采用何种认证流程,都会在登录结束时执行限制。
  • 04在令牌签发时检查权限,包括刷新令牌和令牌交换。

适用场景

  • 只允许部分员工登录由 Keycloak 管理的内部应用。
  • 为合作方或外包人员开放单个客户端,同时不暴露其他客户端。
  • 在为多个应用提供认证的 Keycloak realm 中,按客户端设置访问规则。

使用前须知

  • README 中的徽章显示其面向 Keycloak 26.8.0,未说明与其他 Keycloak 版本的兼容性。
  • README 建议在使用该扩展前先了解其安全影响。

收录于专题

标签

#keycloak#authorization#access-control#authentication#identity#java#access-management#client#flow#keycloak-authenticator

常见问题

keycloak-restrict-client-auth 是什么?
一个 Keycloak 扩展,可限制哪些用户能够登录指定的客户端。 Keycloak 默认无法做到让部分用户能登录某个客户端、同时拒绝其他用户。本扩展补上了这一能力。为客户端添加名为 restricted-access 的客户端角色,或名为 Keycloak Client Resource 的授权资源,即可对其进行限制:只有拥有该角色的用户,或策略允许访问的用户,才能访问受限客户端。
keycloak-restrict-client-auth 可以免费使用吗?用的什么许可证?
keycloak-restrict-client-auth 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
keycloak-restrict-client-auth 还在维护吗?
活跃维护中。keycloak-restrict-client-auth 最近一次提交是在 2026年10月29日。
keycloak-restrict-client-auth 适合用来做什么?
只允许部分员工登录由 Keycloak 管理的内部应用。 为合作方或外包人员开放单个客户端,同时不暴露其他客户端。 在为多个应用提供认证的 Keycloak realm 中,按客户端设置访问规则。
在哪里获取 keycloak-restrict-client-auth?
源代码和安装说明在 GitHub 上:https://github.com/sventorben/keycloak-restrict-client-auth

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目