客户端角色的 Keycloak Spring Boot 配置

Posted

技术标签:

【中文标题】客户端角色的 Keycloak Spring Boot 配置【英文标题】:Keycloak spring boot configuration for client roles 【发布时间】:2017-09-12 23:13:05 【问题描述】:

我有一个使用 keycloak 配置的启用 Spring Boot 的 rest api。

keycloak.realm = demo
keycloak.realmKey = yfdsfdiufuydhf
keycloak.auth-server-url = http://localhost:8080/auth
keycloak.ssl-required = external
keycloak.resource = lib-backend
keycloak.bearer-only = true
keycloak.credentials.secret = a9fa2e60-324b-4508-b33d-84be2a981da3
# Keycloak Enable CORS
keycloak.cors = true

keycloak.securityConstraints[0].securityCollections[0].name = spring secured api
keycloak.securityConstraints[0].securityCollections[0].authRoles[0] = lib_sadmin

上面的代码会毫无问题地将api返回给客户端。但是当我删除领域角色并启用客户端角色时,会出现403禁止错误。

【问题讨论】:

【参考方案1】:

如果您想使用客户端角色进行操作,您应该将其添加到您的配置中:

keycloak.use-resource-role-mappings=true

【讨论】:

Youssir,拯救了我的一天! 如果有人感兴趣,我发现keycloak.use-resource-role-mappings 标志记录在哪里:keycloak.org/docs/latest/securing_apps/…

以上是关于客户端角色的 Keycloak Spring Boot 配置的主要内容,如果未能解决你的问题,请参考以下文章

Keycloak:将 ldap 组映射到 springboot 角色

将领域角色和资源角色与 Keycloak/Spring Security 一起使用

Spring boot-keycloak 硬编码角色

Keycloak:用户基于角色的客户端登录访问限制

在 Spring Boot 中使用 Keycloak 实现 JWT、JWE 和 JWS(签名 JWT)

Keycloak 客户端角色属性数组