Avanpost ЕСИА Адаптер — серверный компонент, реализующий функции сервера OpenID Connect и клиента ЕСИА. ЕСИА Адаптер выступает в роли посредника между OIDC-клиентом (приложением) и ЕСИА, обеспечивая аутентификацию пользователя через ЕСИА по протоколу OAuth 2.0 с использованием Authorization Code Flow и PKCE. Компонент подписывает запросы к ЕСИА с помощью Crypto PRO CSP, проверяет подпись токенов, полученных от ЕСИА, и передаёт пользователю токены после успешной аутентификации. Также ЕСИА Адаптер выполняет дополнительные запросы к API ЕСИА для получения данных о пользователе. В поставке ЕСИА Адаптер присутствует утилита genguids, предназначенная для генерации GUID (анти-CSRF токенов).
Avanpost ЕСИА Адаптер выполняет следующие функции:
- Выступает как Identity Provider (IdP) для OIDC-клиентов, обрабатывая запросы на аутентификацию.
- Перенаправляет пользователя в ЕСИА при запросе от OIDC-клиента.
- Формирует и отправляет запросы к ЕСИА и обрабатывает ответы от ЕСИА.
- Выполняет запросы к API ЕСИА для получения информации о пользователе (например, ролей, организаций).
- Обеспечивает безопасность при использовании небезопасных клиентов (например, в браузере) за счёт использования механизма PKCE.
Применение Avanpost ЕСИА Адаптер позволяет:
- Использовать Crypto PRO CSP и утилиты
cryptcp/csptestпри выполнении и проверке цифровой подписи в соответствии криптографическими стандартами; - Реализовывать OpenID Connect (OIDC) и OAuth 2.0 с поддержкой PKCE, что обеспечивает безопасную аутентификацию и авторизацию в соответствии с международными стандартами;
- Использовать государственную систему идентификации и аутентификации (ЕСИА) с учетом требований для государственных и корпоративных сервисов;
- Поддерживать работу с различными OIDC-клиентами (приложениями), настраиваемыми через конфигурационные параметры;
- Снижать нагрузку на клиентское приложение и повышать безопасность, т.к. клиентское приложение не взаимодействует напрямую с ЕСИА, а использует ЕСИА Адаптер в качестве посредника.

Описание работы механизма Avanpost ЕСИА Адаптер (в соответствии с представленной схемой):
- OIDC-клиент (например, Avanpost FAM) отправляет запрос на аутентификацию Avanpost ЕСИА Адаптер.
- Avanpost ЕСИА Адаптер создает подпись для запроса с помощью Crypto PRO CSP.
- Avanpost ЕСИА Адаптер направляет запрос на аутентификацию в ЕСИА.
- ЕСИА возвращает авторизационный код (authorization_code) обратно Avanpost ЕСИА Адаптер.
- Avanpost ЕСИА Адаптер создает подпись для запроса токена с помощью Crypto PRO CSP.
- Avanpost ЕСИА Адаптер отправляет запрос на получение токена по authorization_code в ЕСИА.
- ЕСИА возвращает токен (access_token, refresh_token, id_token) Avanpost ЕСИА Адаптер.
- Avanpost ЕСИА Адаптер проверяет подпись полученного токена с помощью Crypto PRO CSP.
- Avanpost ЕСИА Адаптер делает запрос в API ЕСИА с использованием полученного токена для получения дополнительных данных о пользователе.
- ЕСИА возвращает данные о пользователе Avanpost ЕСИА Адаптер.
- Avanpost ЕСИА Адаптер возвращает авторизационный код (authorization_code) клиенту.
- OIDC-клиент отправляет запрос на получение токена Avanpost ЕСИА Адаптер.
- Avanpost ЕСИА Адаптер возвращает токен (access_token, refresh_token, id_token) OIDC-клиенту.
Настройка Avanpost ЕСИА Адаптер
Компонент Avanpost ЕСИА Адаптер может быть установлен и настроен для работы по протоколу OpenID Connect с любым OIDC-клиентом. Описание установки и настройки компонента для Avanpost FAM Server представлено в статье Настройка Avanpost ЕСИА Адаптер (использование компонента совместно с Avanpost FAM доступно для версий FAM Server 1.13+).
Сценарии использования
Аутентификация на корпоративном портале через ЕСИА
Корпоративный портал интегрируется с Avanpost ЕСИА Адаптер в качестве OIDC-клиента. При попытке входа сотрудник выбирает опцию входа через Госуслуги и перенаправляется в ЕСИА. В соответствии с принципом работы ЕСИА Адаптер после прохождения аутентификации токены возвращаются OIDC-клиенту (корпоративному порталу). Клиент использует токен для автоматического входа сотрудника в нужные сервисы без дополнительной аутентификации.
Создание локального аккаунта посредством аутентификации через ЕСИА
Образовательная платформа подключается к Avanpost ЕСИА Адаптер по протоколу OpenID Connect. При первом входе пользователь аутентифицируется через ЕСИА. После успешного завершения аутентификации ЕСИА Адаптер возвращает токен и данные профиля (email, ФИО, СНИЛС), полученные от ЕСИА, OIDC-клиенту. Платформа автоматически создаёт локальный аккаунт на основе полученных данных и обеспечивает SSO для смежных сервисов.
Привязка дополнительных данных к аккаунту пользователя
Пользователь успешно аутентифицируется в OIDC-приложении, используя Avanpost ЕСИА Адаптер. После успешной аутентификации ЕСИА Адаптер делает опциональный запрос к API ЕСИА для получения списка организаций, к которым привязан пользователь. Полученные данные используются для автоматического заполнения стандартизованных форм внутри OIDC-приложения и верификации полномочий заявителя.
Упрощенный механизм аутентификации в приложениях с поддержкой PKCE
Мобильное приложение (OIDC-клиент) использует Authorization Code Flow с PKCE для безопасной аутентификации через Avanpost ЕСИА Адаптер. ЕСИА Адаптер берёт на себя всю сложность взаимодействия с ЕСИА и работы с криптографическими стандартами (подпись через Crypto PRO), позволяя мобильному приложению работать с простым и стандартным OIDC-интерфейсом.