0

У меня есть несколько приложений загрузки весны для разностных целей. Например, мобильные клиенты отправляют свои GPS-координаты в одну микросхему с пружинной загрузкой, и в то же время эти мобильные клиенты получают доступ к другому сервису microload для загрузки своих CRUD-операций.Управление идентификационными данными с несколькими микросервисами с пружинной загрузкой

Я столкнулся с проблемой аутентификации клиентов. Я не хочу выполнять аутентификацию на всех сервисах. Скорее я хотел бы сделать это, используя другой сервер управления удостоверениями (например: Kerberos), который выдает токен SSO для всех этих микросервисов.

ИЛИ прокси-сервер, который аутентифицирует все входящие запросы и делегирует их соответствующим микросервисам.

Я обыскал пару часов, и я не мог найти надежной информации о защите микросервисов даже в целом.

  1. Дизайн или архитектура, которые я принимаю, верны?
  2. Каков наилучший подход для такого рода ситуаций?
  3. Как я могу реализовать этот сервер/прокси-сервер, который выполняет аутентификацию?
  4. Любая технология, известные серверы mgmt, которые могут легко интегрироваться с Spring, известны шаблоны дизайна?

Один вопрос больше, Можно ли реализовать такой же уровень аутентификации для каждой из этих служб? (Потому что я думаю, что это плохо, и я могу ошибаться)

Я хотел бы придерживаться Spring.

Высоко ценим, если кто-то может направить меня на правильный путь.

+1

Вы можете использовать Spring Security с использованием схемы аутентификации и авторизации на основе токенов. Токен должен быть криптографически сильным и храниться в распределенном кеше вместо конкретной виртуальной машины. Затем, если такая схема используется всеми приложениями, они могут аутентифицировать клиента, передающего один и тот же токен для всех запросов против общего кеша. Использование кеша с Spring Security очень просто и требует реализации только одного интерфейса. Распределение кеша также является просто изменением конфигурации. Таким образом, это может быть самый простой вариант. – manish

ответ

1

Что вам нужно - это OAuth2.

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

+0

Спасибо, я переехал в Оайт, и ваш ответ дал понять. Раньше я не использовал OAuth. Есть ли какие-либо серверы с открытым исходным кодом, которые выполняют авторизацию, или я должен что-то реализовать самостоятельно? – sura2k

0

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

Кроме вышеуказанного, вы можете использовать Spring OAuth2 с JWT для защиты микросервисов.