Я работаю в команде разработчиков над крупномасштабным проектом, в котором используются микросервисы на базе Spring. Недавно мы обнаружили проект Spring Cloud и экспериментируем с внедрением сервисов Netflix, Zuul, Eureka, Ribbon и т. д.
В нашей среде ни у кого не будет доступа к домену, на котором будет работать наше приложение, пока они не будут предварительно авторизованы через внешний сервис. Как только они достигнут нашего приложения, мы сможем получить личность пользователя через токен заголовка, предоставленный службой авторизации.
Я хотел бы настроить Zuul с помощью Spring Security, используя фильтр предварительной проверки подлинности для установления сеанса пользователя, и использовать Spring Session, чтобы сделать сеанс доступным для всех серверных микросервисов.
Это законный подход? Единственная информация, которую я вижу о безопасности Zuul, — это возможность прокси-токенов OAuth2 для серверных служб, но нам не нужен OAuth2. Есть ли лучший способ установить сеанс пользователя и поделиться им со всеми службами в нашей внутренней архитектуре?