Интеграция систем
Концептуальная
модель интеграции выглядит так

- Группа «External systems» - это различные
информацинные системы, разработанные и/или функционирующие вне периметра
ITMED.
- Группа «eGoverment» - это различные информационные
службы, функционирующие в рамках электронного правительства и связь с
которые осуществляется только через МСПД (межведомственную сеть передачи
данных).
- Группа «IT-MED» - это различные информацинные
системы, разработанные ITMED и функционирующие внутри периметра
ITMED.
Назначение служб в группе «ITMED»:
- Identity system — служба идентификации.
Предназначена для регистрации внешних систем (client) и пользователей (
user). Служба выполняет функцию выдачи самоподписанных токенов доступа
(self-signed JWT).
- eGoverment bridge — служба получения данных из
eGoverment. Представлят собой единую точку доступа к данным eGoverment.
Побочная функция - приведение кодов справочников к кодам, принятым в
ITMED.
- eGoverment gateway — служба предоставления доступа
к защищенным ресурсам по запросам из eGoverment. Доступ предоставляется
в режиме «только чтение».
- OpenAPI Gateway — служба предоставления доступа к
защищенным ресурсам по запросам из внешних систем (External systems).
Доступ к справочникам (Reference books) и данным из электронного
правительства (через eGoverment bridge) предоставляется в режиме «только
чтение». Доступ к другим ресурсам может быть предоставлен в режиме
«чтение/добавление/изменение/удаление».
- Reference books aka Terminology — служба хранящая и
предоставляющая доступ к различным справочникам и классификаторам,
используемых в более чем одной информационной системе.
- Protected resources — основные хранилища экосистемы
здравоохранения, предоставляющие доступ к защищенным ресурсам (включая
медицинские данные).
Дополнительные службы, такие как Time Server не показаны в целях
упрощения.
Процесс авторизации
Только для тестового
окружения
Resource owner password grant. Система направляет запрос на получение
токена. Запрос содержит также данные о пользователе (логин и пароль)

Стандартная схема
Authorization code Пользователь при входе в систему перенаправляется
в службу идентификации. Служба идентификации аутентифицирует и
идентифицирует пользователя и выдает код авторизации. Система обращается
в службу идентификации для обмена кода авторизации на токен доступа.
Система идентификации валидирует код авторизации и выдает пару токенов.
Система валидирует токен и предоставляет пользователю доступ.

Client credentials на данный момент не предоставляется.
Доступ к защищенным
ресурсам.
Для получения данных из защищенных ресурсов, система, в которой
пользователь авторизован, направляет соответствующий запрос. Система,
владеющая защищенным ресурсом, валидирует токен и выполняет запрос.

Валидация токена
доступа
Валидация токена производится как минимум по двум параметрам:
- срок действия не истек
- подпись токена действительна
Срок действия токена определяется по значению атрибута exp в paylod
токена Действительность подписи токена проверятся при помощи открытого
ключа, выданного сервисом идентификации. Открытый ключ сервиса
идентификации может изменяться. Для его получения необходимо отправить
соответствующий запрос

Процесс авторизации чуть более детально - здесь