Как отключить keycloak для определенного URL?

#java #spring-boot #spring-security #keycloak

#java #весенняя загрузка #spring-безопасность #keycloak

Вопрос:

У меня есть конечная точка, которая используется для аутентификации / входа в keycloak, поэтому я хотел бы сделать эту конечную точку открытой для всех. Итак, у меня есть URL-адрес, который должен быть доступен для всех: http://localhost:8080/auth

Я настроил HttpSecurity:

 @Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);
    http.csrf().disable().headers().frameOptions().disable().and().authorizeRequests().antMatchers("/auth/**").permitAll();

}
 

У меня есть контроллер:

 @RestController
public class AuthController {

    @GetMapping(value = "/auth")
    public String auth() {
        return "Success !!!";
    }
}
 

Но когда я пытаюсь отправить запрос GET:

 {
    "code": 0,
    "type": "org.springframework.security.access.AccessDeniedException",
    "title": "AccessDeniedException",
    "detail": "Access is denied",
    "status": 500
}
 

Keycloak хочет токен… Я хочу, чтобы этот URL-адрес не запрашивал его, чтобы отключить keycloak только для этой конечной точки и сохранить его для других.

Заранее спасибо.

Комментарии:

1. Нет. По-прежнему отказано в доступе.

2. Да, это так. Доступ запрещен.

3. Попробовал это так и не сработало: http.cors().and().csrf().disable().authorizeRequests().antMatchers(«/api/auth»).permitAll().and().httpBasic();