Это вопрос архитектуры. Я хочу реализовать приложение, которое обрабатывает два типа пользователей (администратор и клиенты). Каждая роль может быть зарегистрирована следующими способами:
- admin: регистрация имени пользователя / пароля
- клиент: Facebook / Google / регистрация имени пользователя и пароля
На основе В роли пользователя у каждого из них есть определенное действие c, на которое он авторизован.
Из технологического стека я хочу использовать Java 8, Spring Cloud Netflix и позже Docker и Kubernetes (для автоматического исцеления и автоматического масштабирования).
Я реализовал Eureka discovery, сервер Config, Zuul Gateway и у меня есть два микросервиса для каждой роли (для начала). Я вообще не знаю, как подойти к аутентификации / авторизации пользователя, из того, что я вижу, Spring Security 5 больше не поддерживает сервер авторизации, и я должен использовать Keycloack? Должен ли шлюз быть сервером авторизации или я должен создать другой компонент, отвечающий за аутентификацию? Что я использую, как реализовать, как приблизиться к перенаправлению между моим сервером авторизации и бизнес-микросервисом?
Я не могу найти нужную документацию, в которой используются имя пользователя / пароль, логин в социальных сетях и Spring Cloud Netflix вместе с Spring Security 5.