Keycloak获取token时Realm策略未生效 非授权用户仍可获取access token
Keycloak组策略未生效导致非授权用户可获取令牌的遗漏配置排查
- 未给员工专属客户端绑定包含组校验的自定义认证流程:Keycloak默认的认证流程仅校验账号密码合法性,不会自动执行你配置的组成员校验规则。你需要在
Authentication页面新建自定义认证流,添加用户组成员校验执行器,设置校验不通过时直接返回认证失败,再将该自定义流绑定到员工客户端的认证配置上。 - 组权限策略未绑定令牌发放准入规则:如果你配置的组策略仅作用于资源权限校验,只会在用户拿着令牌访问受控资源时生效,不会拦截令牌本身的发放。需要将组校验规则添加到客户端的
Access准入条件,或关联到客户端默认携带的Client Scope的校验逻辑中。 - 员工客户端未开启细粒度授权开关:如果员工专属客户端的
Fine-Grained Authorization选项处于关闭状态,你配置的所有自定义授权策略都不会在认证阶段生效,只要账号状态正常的用户都能拿到访问令牌。 - 混淆了授权策略和认证拦截的作用范围:默认模式下Keycloak的授权策略仅管控令牌的访问权限范围,不会阻止令牌发放,若要从认证阶段直接拦截非员工用户,必须将组成员校验逻辑放在认证流程中,而非仅配置授权策略。

内容的提问来源于stack exchange,提问作者Yoann Picquenot
相关产品推荐
相关产品推荐

