Spring boot 2 Microservices - Распространение принципала на сервисы - PullRequest
0 голосов
/ 06 июня 2019

Я занимаюсь разработкой приложения с 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. Как узнать, кто является зарегистрированным пользователем?Кто сделал запрос?

...