@Nastya1920

Как реализовать Кросс-серверные запросы на authenticate/authorize (jwt) в микросервисной архитектуре?

Привет!
Нужен совет более опытных, чем я, спецов.
Суть тз: имеется микросервисная арх-ра. Аутентификация принимает base64 encoded email&password, возвращает jwt-токен, авторизация - для всех запросов должна принимать jwt, проверять на валидность, обновлять (дату и роли) и обратно отправлять в хедере. Кроме токена, после авторизации на фронт должны посылаться все данные юзера из бд для обновления стейтов (кроме hashpassword, конечно).
Суть вопроса: как реализовать запросы на такой jwt сервер из других микросервисов? Сам jwt лежит вместе с аккаунтингом (для аккаунтинга использую spring security и фильтр для проверки и обновления токена, ибо все утилиты jwt - в той же аппликации, беру их через autowired). То есть если юзер нажимает на кнопку "добавить коммент" - какой-то микросервис а-ля форум должен сначала отправить токен юзера на проверку, получить обновленный, выполнить сам выбранный метод - и вернуть юзеру обновленный токен (в хедере, наверно) вместе с каким-то респонсом из бд. Просто мне кажется странным на фронте для каждой функции прописывать по два реквеста: как-то сервер должен роутить. Может, фильтром в каждом микросервисе, например... есть идеи?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Неа. Фронт один раз при логине получает jwt-токен, а потом шлёт его в заголовке всем другим микросервисам, пока он не устареет. Никаких двух запросов не нужно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы