Общая информация
Описание
Для организации межсервисного взаимодействия через приватные интерфейсы API вместо обычного пользователя используется сущность сервисного аккаунта (фиктивный пользователь связанный с клиентом). У сервисного аккаунта нет никаких данных/атрибутов, которые могут быть у обычного пользователя.
Использование сервисного аккаунта возможно только при работе со специально подготовленными эндпоинтами.
Подробную информацию узнавайте у разработчиков конечного сервиса.
По умолчанию в авторизации используется поток с данными клиента [Client Credentials].
Верификация токена в конечной системе
- Сервис выполняет запрос с Access Token
- Осуществляется проверка подписи Access Token (JWS)
- Выполняется расшифровка токена
- Из токена получается информация о сервисе и доступных ролях
Проверка подписи токена
Механизм проверки подписи токенов аналогичен механизму, используемому при авторизации пользователей.
Проверка подписи токена подразумевает наличие на конечном сервере хранилища (кэша) ключей.
Обновление кэша активных ключей на сервере предлагается производить не чаще одного раза в час и не реже одного раза в сутки.
Обновление кэша активных ключей на сервере предлагается производить не чаще одного раза в час и не реже одного раза в сутки.
Получение ключей с сервера авторизации при каждом запросе к конечному серверу запрещено.
Предлагаемый алгоритм работы
- Расшифровка первой части JWT и получение информации об идентификаторе ключа (поле
kid) - Проверка наличия в кэше сервера ключа с данным идентификатором
kid - Если ключ существует, осуществляется проверка JWS с данным ключем