Интеграция систем

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

Integration-overview

Назначение служб в группе «ITMED»:

Дополнительные службы, такие как Time Server не показаны в целях упрощения.

Процесс авторизации

Только для тестового окружения

Resource owner password grant. Система направляет запрос на получение токена. Запрос содержит также данные о пользователе (логин и пароль)

Resource owner password grant

Стандартная схема

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

Authorization code grant

Client credentials на данный момент не предоставляется.

Доступ к защищенным ресурсам.

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

gService-access-v1

Валидация токена доступа

Валидация токена производится как минимум по двум параметрам:

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

gService-JWKSet-v1

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