Как производить проверку JWT на микросервисе, не имеющем никакой информации о пользователе?
Всем привет. У меня такой вопрос. Строю микросервисную архитектуру. У меня имеется отдельно сервис авторизации, который хранит в себе информацию о пользователе, там же генерируется JWT. Дальше клиент с уже имеющимся JWT делает запрос на какой-нибудь другой микросервис( например медиа-сервис ), но на этом сервисе нет никакой информации пользователе. Каким образом должна производиться валидация токена в данном случае? Каждый микросервис должен делать запрос через брокер на сервис авторизации, что заметно повлияет на полезную нагрузку, или же есть иное решение?
1) Запрашивать сервер аутентификации, да. Кэшировать его ответы.
2) Или же подписывать JWT закрытым ключем сервера аутентификации. Открытый ключ должны знать все сервисы.
3) Сервер аутентификации может уведомлять об отзыве JWТ через сервер MQ. Разумеется, каждый микросервис должен подписаться на эти уведомления.
Еще вопрос. Т.е. по факту если злоумышленник завладеет токеном то я никак не смогу проверить например по IP? По факту токен генерируется секретным ключем, и просто проверка лишь идет на валидность данного токена, но по факту я не проверяю именно пользователя?
Как обойти подобную проблему?
nrgian, Спасибо вам))) Я пока размышлял над вопросом понял что публичным ключем же тоже можно инфу из токена вытащить))) А так дальше знаю как) Спасибо за скорый ответ