У меня есть приложение Springboot, которое использует Azure AD для Oauth2.0.
Моя проблема заключается в том, что поток аутентификации Oauth имеет локальную задержку около 1 с, а 2 с использованием прокси-сервера http, который мы используемдля развертывания продукта. Таким образом, каждый вызов занимает не менее 2,5 с, что является довольно плохим опытом для пользователя.
Я провел очень краткий анализ и обнаружил, что большая часть задержки исходит из OAuth2AuthorizationRequestRedirectFilter.doFilterInternal
. Номера (локально) 1000ms, 1200ms, 1100ms...
.
Итак, мой вопрос заключается в следующем: есть ли способ, которым я могу переопределить некоторые компоненты OAuth2AuthorizationRequestRedirectFilter
или некоторые другие фильтры, которые позволят мне сбрить несколько сотен миллисекунд?
Есть ликакую-то часть аутентификации, которую я могу кэшировать или делать автономно, что ускорит процесс?
К вашему сведению: ниже приведена моя конфигурация безопасности
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.addFilterBefore(_dualAuthFilter, OAuth2AuthorizationRequestRedirectFilter.class)
.authorizeRequests()
.antMatchers("/api/auth*").permitAll()
.and()
.authorizeRequests()
.antMatchers("/api/v*").authenticated()
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.oauth2Login()
.authorizationEndpoint()
.baseUri(_oAuthConfig.getAuthEndpointBaseUri());
}