У меня есть приложение webflux и сейчас я использую okta для аутентификации. SecurityWebFilterChain
выглядит следующим образом:
http
.csrf().disable()
.authorizeExchange()
.pathMatchers("/v2/api-docs",
"/configuration/ui",
"/swagger-resources",
"/swagger-resources/**",
"/configuration/security",
"/swagger-ui.html",
"/webjars/**",
"/**/v2/api-docs")
.permitAll()
.anyExchange().authenticated()
.and()
.oauth2ResourceServer().jwt();
Но теперь мне нужно получить доступ к метрике исполнительного механизма EP из Prometheus, поэтому я хотел включить базовый c auth для привода и все еще использовать okta для отдыха. Является ли это возможным? Или, может быть, есть лучшее решение?
prometheus.yml
:
scrape_configs:
- job_name: 'springboot'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['gateway:8060']
Я пытался реализовать два компонента SecurityWebFilterChain
, а второй:
http
.authorizeExchange()
.pathMatchers("/actuator/**")
.authenticated()
.and()
.httpBasic();
return http.build();
Но тогда у меня есть исключение: Caused by: java.lang.IllegalArgumentException: authenticationManager cannot be null