Центр авторизации и аутентификации Пользователей. Пользователям необходимо войти в LC, чтобы получить доступ к любому из подключённых WS. В системе должен быть как минимум один LC — без него работа невозможна. WS подключаются к LC, и Пользователям выдаются права доступа на WS, подключённые к этому LC. Интеграции с другими системами для авторизации Пользователей также производятся в LC.
Ниже представлена схема взаимодействия login center:
Web Server – веб прокси для распределения входящих запросов от пользователей между компонентами систем.
Frontend – пользовательский интерфейс приложения. Сейчас может напрямую взаимодействовать с CORE через запросы по REST API, будет вынесен из состава LOGIN CENTER в отдельный сервис
Core – базовая часть системы, обеспечивающая работу всех компонентов системы.
Additional Components – дополнительные компоненты системы для ведения аудита, работы аутентификации и обработки запросов воркспейсов.
SERVICE BROKER – база данных для обмена сообщениями между компонентами системы. Сейчас состоит из двух разных модулей: Events (на базе node-ipc-eventemitter) и NATS (на базе nats-micro), в будущем останется только NATS.
SYSTEM DB – системная база данных для хранения данных пользователей, прав доступа, аудита, настроек логин центра и т.д.
Export Service – экспорт пользователей в файл разных форматов, можно посмотреть через UI.
Workspace – опционально воркспейс может быть установлен на тот же сервер, где развернуто приложение логин центра. В этом случае Web Server логин центра выступает в качестве прокси сервера для контейнера с воркспейсом.
MICROSERVICE MONITOR – новый модуль, который следит за состоянием всех остальных микросервисов. Умеет выдавать данные об их состояниях.
HTTP GATEWAY и WEBSOCKET GATEWAY – FRONTEND будет взаимодействовать с LOGIN CENTER только через них. Все запросы от FRONTEND будут транслироваться в NATS вызовы, адресованные соответствующим микросервисам. Сейчас HTTP GATEWAY и WEBSOCKET GATEWAY присутствуют, но пока не умеют принимать никакие вызовы.