Связь между двумя микросервисами в JHipster с использованием JWT - PullRequest
0 голосов
/ 02 июня 2018

Я создаю небольшое веб-приложение на основе микросервиса, используя JHipster с авторизацией JWT.Архитектура проста: один шлюз и два сервиса с репозиториями.Проблема, с которой я столкнулся последние несколько часов, - это связь между двумя backend-сервисами.

Сначала я попытался найти токен в самих сервисах, но не смог его найти.Если бы я просто пропустил его во всех документах (это было довольно сложно, если начать с полного стека: P), я был бы рад отменить мои изменения и использовать предопределенный токен.

Мой второй подход состоял в том, что каждый сервис будетавторизуйтесь с помощью шлюза в PostConstruct и сохраняйте токен в памяти, чтобы использовать его при каждом вызове API.Это работает без проблем, но мне трудно поверить, что эта функциональность еще не запрограммирована в JHipster.

Итак, мой вопрос, является ли мой подход обычным?Если ни то, ни другое не соответствует действительности, и для этого есть некоторые передовые практики, я также заинтересован в них.

1 Ответ

0 голосов
/ 02 июня 2018

Это зависит от варианта использования.

Для пользовательских запросов общепринятым подходом является: вызывающая служба перенаправляет полученный токен другой службе, не проходя через шлюз, в ответ на запрос @AuthorizedFeignClient.

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

Подход офлайн-токенов Keycloak также может вас вдохновить.

...