просто распечатывайте журнал для каждой повторной попытки и выдавайте исключение, если оно завершается неудачей после повторных попыток.
вот что я ищу
- автоматически повторить вызов конечной точки самоанализа токена
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
@AllArgsConstructor
public class OAuth2ResourceServerConfig {
ApplicationConfig appConfig;
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(
customizer -> {
customizer
.requestMatchers("/actuator/health")
.permitAll() //
.requestMatchers("/**")
.authenticated();
})
.oauth2ResourceServer(
httpSecurityOAuth2ResourceServerConfigurer ->
httpSecurityOAuth2ResourceServerConfigurer.opaqueToken(
opaqueTokenConfigurer -> {
opaqueTokenConfigurer
.introspectionClientCredentials(
appConfig.getTheClientId(), appConfig.getTheClientSecret())
.introspectionUri(appConfig.getThEIntrospectionUrl());
})) //
.exceptionHandling(
httpSecurityExceptionHandlingConfigurer -> {
httpSecurityExceptionHandlingConfigurer.configure(http);
}) //
.securityContext(
httpSecuritySecurityContextConfigurer -> {
httpSecuritySecurityContextConfigurer.configure(http);
}) //
.sessionManagement(
httpSecuritySessionManagementConfigurer ->
httpSecuritySessionManagementConfigurer.configure(http));
return http.build();
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... aque-token