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

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