29 lines
1.1 KiB
Java
29 lines
1.1 KiB
Java
package com.example.keycloakpattern;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.security.config.Customizer;
|
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
import org.springframework.security.config.http.SessionCreationPolicy;
|
|
import org.springframework.security.web.SecurityFilterChain;
|
|
|
|
@Configuration
|
|
public class SecurityConfig {
|
|
|
|
@Bean
|
|
SecurityFilterChain apiSecurity(HttpSecurity http) throws Exception {
|
|
return http
|
|
.csrf(csrf -> csrf.disable())
|
|
.sessionManagement(session ->
|
|
session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
|
.authorizeHttpRequests(authorize -> authorize
|
|
.requestMatchers("/actuator/health", "/actuator/health/**", "/api/public",
|
|
"/api/echo")
|
|
.permitAll()
|
|
.anyRequest()
|
|
.authenticated())
|
|
.oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults()))
|
|
.build();
|
|
}
|
|
}
|