У меня есть несколько приложений загрузки весны для разностных целей. Например, мобильные клиенты отправляют свои GPS-координаты в одну микросхему с пружинной загрузкой, и в то же время эти мобильные клиенты получают доступ к другому сервису microload для загрузки своих CRUD-операций.Управление идентификационными данными с несколькими микросервисами с пружинной загрузкой
Я столкнулся с проблемой аутентификации клиентов. Я не хочу выполнять аутентификацию на всех сервисах. Скорее я хотел бы сделать это, используя другой сервер управления удостоверениями (например: Kerberos), который выдает токен SSO для всех этих микросервисов.
ИЛИ прокси-сервер, который аутентифицирует все входящие запросы и делегирует их соответствующим микросервисам.
Я обыскал пару часов, и я не мог найти надежной информации о защите микросервисов даже в целом.
- Дизайн или архитектура, которые я принимаю, верны?
- Каков наилучший подход для такого рода ситуаций?
- Как я могу реализовать этот сервер/прокси-сервер, который выполняет аутентификацию?
- Любая технология, известные серверы mgmt, которые могут легко интегрироваться с Spring, известны шаблоны дизайна?
Один вопрос больше, Можно ли реализовать такой же уровень аутентификации для каждой из этих служб? (Потому что я думаю, что это плохо, и я могу ошибаться)
Я хотел бы придерживаться Spring.
Высоко ценим, если кто-то может направить меня на правильный путь.
Вы можете использовать Spring Security с использованием схемы аутентификации и авторизации на основе токенов. Токен должен быть криптографически сильным и храниться в распределенном кеше вместо конкретной виртуальной машины. Затем, если такая схема используется всеми приложениями, они могут аутентифицировать клиента, передающего один и тот же токен для всех запросов против общего кеша. Использование кеша с Spring Security очень просто и требует реализации только одного интерфейса. Распределение кеша также является просто изменением конфигурации. Таким образом, это может быть самый простой вариант. – manish