spring boot 3.2 整合 keycloak
Spring Boot 3.2 整合 Keycloak 的方法可以通过Spring Security和Spring Boot的Keycloak Starter来实现。以下是整合的基本步骤和示例代码:
- 添加Keycloak Starter依赖到你的
pom.xml
文件中:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-starter</artifactId>
<version>17.0.0</version>
</dependency>
- 在
application.properties
或application.yml
中配置Keycloak的参数,例如:
# Keycloak 服务器的地址
keycloak.auth-server-url=http://localhost:8080/auth
# 客户端的ID
keycloak.resource=demo-app
# 客户端的秘钥
keycloak.credentials.secret=secret
# realm 的名字
keycloak.realm=demo
# 需要保护的路径
keycloak.securityConstraints.[0].securityCollections.[0].patterns.[0]=/api/*
- 在Spring Security配置中添加Keycloak配置,例如:
import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
import org.keycloak.adapters.springsecurity.config.KeycloakSecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
public class SecurityConfig extends KeycloakSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
http
.authorizeRequests()
.anyRequest()
.authenticated();
}
@Bean
public KeycloakSpringBootConfigResolver keycloakConfigResolver() {
return new KeycloakSpringBootConfigResolver();
}
}
- 确保你的Spring Boot应用有一个
@SpringBootApplication
注解的主类,它会自动配置Keycloak。
以上步骤和代码示例提供了Spring Boot 3.2整合Keycloak的基本方法。确保Keycloak服务器已经设置好并且运行中,并且客户端配置正确。
评论已关闭