Перейти к содержанию

Внутренняя схема взаимодействия Login Center

Назначение

Центр авторизации и аутентификации Пользователей. Пользователям необходимо войти в LC, чтобы получить доступ к любому из подключённых WS. В системе должен быть как минимум один LC — без него работа невозможна. WS подключаются к LC, и Пользователям выдаются права доступа на WS, подключённые к этому LC. Интеграции с другими системами для авторизации Пользователей также производятся в LC.

Ниже представлена схема взаимодействия login center:

lc_internal_scheme.png

Краткое описание компонентов

  • 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 присутствуют, но пока не умеют принимать никакие вызовы.