【发布时间】:2021-06-16 01:12:04
【问题描述】:
我正在使用 Keycloak 来保护我的 Spring Boot 后端。
依赖关系:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-2-adapter</artifactId>
<version>12.0.3</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat7-adapter-dist</artifactId>
<version>12.0.3</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-security-adapter</artifactId>
<version>12.0.3</version>
</dependency>
安全配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry expressionInterceptUrlRegistry = http.cors()
.and()
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests();
expressionInterceptUrlRegistry = expressionInterceptUrlRegistry.antMatchers("/iam/accounts/promoters*").hasRole("PROMOTER");
expressionInterceptUrlRegistry.anyRequest().permitAll();
}
一切正常!
但是现在我在 keycloak 令牌“角色”中添加了一个新部分,我需要以某种方式在我的 Spring boot 中扩展 keycloak jwt 类,并编写一些代码来解析角色信息并将其存储到 SecurityContext。大佬能告诉我如何存档目标吗?
【问题讨论】:
-
你在Keycloak领域或Keycloak客户端注册了角色吗?您的 application.yml 是如何设置的?
-
终于可以自己动手了。谢谢你的时间。我会尽快发布答案
标签: spring spring-boot jwt keycloak