Spring Security KeyCloak adapter not redirect to login

Viewed 7790

I'm using Spring Security KeyCloak adapter

I've configured it successfully, so the behavior is like:

So, how can I achieve the (2) behavior?

This is the Spring Security configuration:

@Configuration
@EnableWebSecurity
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
public class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {

/**
 * Registers the KeycloakAuthenticationProvider with the authentication manager.
 */
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.authenticationProvider(keycloakAuthenticationProvider());
}

@Override
protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
    return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl());
}

@Bean
public FilterRegistrationBean keycloakAuthenticationProcessingFilterRegistrationBean(
        KeycloakAuthenticationProcessingFilter filter) {
    FilterRegistrationBean registrationBean = new FilterRegistrationBean(filter);
    registrationBean.setEnabled(false);
    return registrationBean;
}

@Bean
public FilterRegistrationBean keycloakPreAuthActionsFilterRegistrationBean(
        KeycloakPreAuthActionsFilter filter) {
    FilterRegistrationBean registrationBean = new FilterRegistrationBean(filter);
    registrationBean.setEnabled(false);
    return registrationBean;
}

@Override
protected KeycloakLogoutHandler keycloakLogoutHandler() throws Exception {
    return super.keycloakLogoutHandler();
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);
    http
            .logout().logoutUrl("/logout").addLogoutHandler(keycloakLogoutHandler())
                .and()
            .authorizeRequests()
            .anyRequest().authenticated();
}

}

3 Answers

Adding this '.antMatcher("*/**")....' before autorizeRequests fix redirects problem in my case. SbringBoot 2.0.2, SpringSecurity 5.0.5 and keycloak-spring-boot-2-starter 4.0.0.Beta2

.antMatcher("*/**")
.authorizeRequests()
Related