Вход через Госуслуги (ЕСИА) на сайте: как подключить и кому это нужно
«Войти через Госуслуги» даёт подтверждённые данные клиента, но требует ГОСТ-криптографии и согласований. Когда это оправдано и как устроена интеграция.
«Войти через Госуслуги» — это авторизация поверх ЕСИА (Единой системы идентификации и аутентификации). Для пользователя это один клик, для бизнеса — способ получить подтверждённые государством данные клиента: ФИО, СНИЛС, ИНН, дату рождения. Разбираем, кому это реально нужно, как подключается и где подводные камни на стороне сайта.
Кому это нужно
Вход через Госуслуги оправдан там, где важны проверенные данные и юридически значимая идентификация:
- финтех, МФО, страхование — KYC и проверка личности
- медицина, образование, запись на услуги
- каршеринг, аренда, прокат — нужно подтверждённое ФИО и возраст
- сервисы, интегрированные с госуслугами или льготами
Если вам достаточно email или телефона для регистрации — ЕСИА избыточна. Подключение нетривиальное, и ради «ещё одной кнопки входа» городить ГОСТ-криптографию смысла нет.
Уровни учётной записи
В ЕСИА три уровня: упрощённая, стандартная и подтверждённая. Полный набор персональных данных (СНИЛС, паспорт) отдаётся только для подтверждённой учётной записи. Это нужно учитывать в продукте: часть пользователей войдёт, но согласия на нужные данные дать не сможет.
Как подключить — по шагам
- Регистрация ИС. Организация регистрирует свою информационную систему в техническом портале ЕСИА (
esia.gosuslugi.ru/console/tech) и получает мнемонику системы — аналог client_id. - Сертификат. Нужен сертификат по ГОСТ Р 34.10-2012: запросы к ЕСИА подписываются криптоподписью. На сервере ставится КриптоПро CSP (или совместимый провайдер) с ГОСТ-движком.
- Заявка и согласование. Подаётся заявка на доступ к нужным scope (какие данные запрашиваете). Согласование занимает время — закладывайте 2–4 недели.
- Тестовая среда. Сначала всё отлаживается на тестовом контуре (
esia-portal1.test.gosuslugi.ru), потом переключается на прод.
Технический поток (OAuth 2.0 + ГОСТ)
Под капотом — authorization code flow, но с национальной криптографией:
- Формируете запрос на
/aas/oauth2/acс параметрами (scope, client_id, redirect, timestamp, state) и подписываете его ГОСТ-подписью. Это ключевое отличие от обычного OAuth — без валидной подписи ЕСИА отклонит запрос. - Пользователь видит экран Госуслуг, логинится и даёт согласие на передачу данных.
- ЕСИА редиректит обратно с
code. - Меняете code на access_token на
/aas/oauth2/te(тоже с подписью). - С токеном запрашиваете данные через REST:
/rs/prns/{oid}/...— ФИО, контакты, документы по выданным scope.
На PHP подпись делают через КриптоПро CSP (вызов cryptcp/PKCS#7) либо через openssl с ГОСТ-engine. Это самая хрупкая часть интеграции — на ней спотыкаются чаще всего.
Какие данные можно запросить
Через scope запрашиваются: ФИО, дата рождения, пол, email, мобильный, СНИЛС, ИНН, паспортные данные, адрес. Пользователь видит список и явно подтверждает согласие на каждый блок — лишнего без спроса не отдадут.
Подводные камни
- Сроки. Это не «прикрутить за вечер». Заявка, согласование scope, ГОСТ-крипта на сервере — реалистично 2–4 недели до прода.
- Серверное окружение. Нужен сервер, где можно поставить КриптоПро и хранить ключи. На дешёвом shared-хостинге не выйдет.
- 152-ФЗ. Полученные данные — персональные. Все обязанности оператора ПД остаются: согласие, политика, защита, хранение.
- Не замена своей авторизации. ЕСИА — дополнительный способ входа, а не единственный. Оставляйте классический вход тоже.
Вывод: ЕСИА — мощный инструмент там, где нужна подтверждённая личность, но это полноценная интеграция с криптографией и согласованиями, а не косметическая кнопка. Если задача — просто упростить регистрацию, дешевле вход по телефону или через VK ID.