Существующий идентификатор трассировки Sleuth не передан на сервер аутентификации Oauth2 - PullRequest
0 голосов
/ 27 мая 2020

У меня есть 3 приложения с пружинной загрузкой: spring-cloud-gateway, spring-boot-resource-server и spring-boot-authentication-server. Мой spring-boot-resource-server защищен через Oauth, поэтому всякий раз, когда запрашивается api, он сначала аутентифицируется сервером аутентификации с использованием (check_token) enpoint.

Итак, теперь я могу видеть поток запросов от шлюза к серверу ресурсов в zipkin как единый поток

Запрос-> Шлюз -> Сервер ресурсов

, но запрос (check_token) отображается как отдельный запрос .

Сервер ресурсов -> Сервер аутентификации

Если я правильно понимаю, он должен быть частью предыдущего запроса

Запрос- > Шлюз -> Сервер ресурсов -> Сервер аутентификации

Я что-то упустил? Я поискал в Интернете и нашел 2 результата:

  1. spring-security

Из приведенной выше ссылки я думаю, что мне нужно зарегистрировать TraceFilter перед моим OauthFilter, но я, похоже, не нашел никаких фильтров трассировки в текущей версии.

Идентификатор трассировки Zuul на основе приведенной выше ссылки, я считаю, что он будет исправлен в последних выпусках.

Я использую Greenwich.SR3 во всех 3 приложениях.

Обновление

Я напечатал цепочку фильтров, если это помогает.

2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 1 of 11 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 2 of 11 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 3 of 11 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 4 of 11 in additional filter chain; firing Filter: 'LogoutFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 5 of 11 in additional filter chain; firing Filter: 'OAuth2AuthenticationProcessingFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 6 of 11 in additional filter chain; firing Filter: 'RequestCacheAwareFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 7 of 11 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 8 of 11 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 9 of 11 in additional filter chain; firing Filter: 'SessionManagementFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 10 of 11 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 11 of 11 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'

обновление 2:

Spring Cloud обновлен до Hoxton.SR4

Пример приложения

...