I want that a specific endpoint /public/info should be available without authentication.
My application.yaml
spring:
application:
name: team1
security:
oauth2:
client:
provider:
# provider name used for registration
demo:
# Keycloak realm URL: "{keycloak-url}/realms/{realm-name}"
issuer-uri:
registration:
# client-id from Keycloak client configuration
demo-client:
# provider from above
provider: demo
# client-id from Keycloak client configuration
client-id:
client-secret:
scope: openid
authorization-grant-type: authorization_code
redirect-uri:
server:
port: 8080
My SecurityConfiguration:
@Configuration
@EnableWebSecurity
class SecurityConfiguration{
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authorize -> {
authorize.requestMatchers("/public/info").permitAll();
authorize.anyRequest().authenticated();}
).oauth2Login(Customizer.withDefaults());
return http.build();
}
}
Shouldnt /public/info be available unauthenticated? I always get redirected to keycloak.
The /public/info endpoint is:
@GetMapping(path = "/public/info")
public String hello() {
return "Hello";
}