Я занимаюсь разработкой приложения с Spring Boot, Spring Cloud и Zuul в качестве шлюза.
С помощью Spring Security я создал службу авторизации, которая будет генерировать токен JWT при входе пользователя в систему.
Шлюз Zuul может декодировать этот токен и разрешить отправку запроса внутри моего приложения к маршрутизируемым службам.
Теперь возникает вопрос, как я могу получить зарегистрированного пользователя (или сам токен) в одном изmicroservices?Есть ли способ сообщить шлюзу Zuul о присоединении токена к каждому запросу, который он передает к маршрутизируемому пути?
Все микросервисы не имеют Spring Security в качестве зависимости, поскольку идея состоит в том, чтобы проверять только токенна уровне шлюза, не везде, но я не могу найти подходящий способ сделать это ...
Допустим, у меня в шлюзе перенаправлена служба пользователя.После входа в систему пользователь хочет проверить свой профиль.
Он сделает запрос на {{gateway_url}}/getUser
с токеном.
Конфигурация шлюза:
zuul:
ignored-services: '*'
sensitive-headers: Cookie,Set-Cookie
routes:
user-service:
path: /user/**
service-id: USER-SERVICE
.шлюз направит этот запрос приложению USER-SERVICE, к методу контроллера getProfile
. Как узнать, кто является зарегистрированным пользователем?Кто сделал запрос?