Назначение
ESIA Adapter реализует сервер OpenID Connect для приложений и клиента ЕСИА. Приложение не взаимодействует с ЕСИА напрямую и не работает с криптографией: подпись запросов и проверку токенов ЕСИА выполняет адаптер через КриптоПро CSP 5.0 R3 КС3 (исполнение 3-Base).
Адаптер:
- принимает запрос аутентификации от OIDC-клиента по Authorization Code Flow, поддерживает PKCE;
- перенаправляет пользователя в ЕСИА и обрабатывает ответ;
- подписывает запросы к ЕСИА и проверяет подпись полученных токенов;
- запрашивает у API ЕСИА данные о пользователе (контакты, организации, документы) и отдаёт их приложению в токене;
- работает как служба ОС, интерфейса у него нет, всё настраивается файлами и переменными окружения.
Схема работы
- OIDC-клиент отправляет запрос аутентификации адаптеру.
- Адаптер подписывает запрос через КриптоПро CSP.
- Адаптер направляет пользователя в ЕСИА.
- ЕСИА возвращает авторизационный код.
- Адаптер подписывает запрос токена.
- Адаптер меняет код на токены в ЕСИА.
- ЕСИА возвращает access_token, refresh_token, id_token.
- Адаптер проверяет подпись токена.
- Адаптер запрашивает в API ЕСИА данные о пользователе.
- ЕСИА возвращает данные.
- Адаптер возвращает код клиенту.
- Клиент обменивает код на токен.
- Адаптер выдаёт клиенту access_token, refresh_token, id_token.
Типовые сценарии
- Вход сотрудников на корпоративном портале через «Госуслуги» с автоматическим входом в сервисы.
- Создание локального аккаунта на первом входе по данным профиля (email, ФИО, СНИЛС).
- Привязка дополнительных данных: список организаций пользователя, документы, данные из Цифрового профиля.
- Мобильное приложение с PKCE: приложение работает со стандартным OIDC, сложность ЕСИА скрыта адаптером.
Среда функционирования
- Astra Linux Special Edition РУСБ.10015-17, физический сервер x86-64 (виртуализация не рассматривается).
- КриптоПро CSP 5.0 R3 КС3 (3-Base); ключи в контейнере на носителе HDIMAGE, облачное хранение ключей запрещено.
- Другого ПО не требуется.
Состав поставки
esia-adapter_linux_amd64 (исполняемый файл), genguids (генератор идентификаторов), примеры конфигурации для API ЕСИА v1, v2 и v2 с PKCE, clients.example.json, открытый ключ public_key.gpg для проверки подписи файлов, контрольные суммы, README и Руководство администратора.
Адаптер поставляется как опция к FAM и WSSO и в составе ПАК ЕСИА.