Как сделать ЕСИА в Госуслугах?

Как сделать ЕСИА в Госуслугах? - коротко

Перейдите на портал Госуслуг, нажмите «Войти», выберите «Регистрация через ЕСИА», введите данные паспорта и подтвердите код из SMS‑сообщения. После подтверждения вы получите доступ к личному кабинету и всем сервисам.

Как сделать ЕСИА в Госуслугах? - развернуто

Для начала необходимо получить доступ к порталу разработчиков Госуслуг. Регистрация проходит по адресу https://developer.gosuslugi.ru: вводятся корпоративные данные, подтверждается юридический статус организации и создаётся учётная запись. После подтверждения вы получаете возможность создавать проекты в системе.

  1. Создание проекта. В личном кабинете выбираете пункт «Создать приложение», указываете название, описание и тип интеграции (веб‑приложение, мобильное приложение, сервер‑сайд). На этом этапе система формирует уникальный идентификатор клиента (client_id) и секретный ключ (client_secret). Их необходимо сохранить в надёжном месте – они понадобятся при запросах к ЕСИА.

  2. Настройка URL‑ов перенаправления. В разделе «Redirect URIs» указываете все адреса, на которые будет возвращаться пользователь после авторизации. Каждый URL должен соответствовать протоколу HTTPS и быть предварительно проверен системой.

  3. Выбор протокола аутентификации. Госуслуги поддерживают два основных механизма: OAuth 2.0 и SAML 2.0. Для большинства веб‑приложений предпочтительнее OAuth 2.0 с потоком «Authorization Code». При необходимости взаимодействия с корпоративными системами может потребоваться SAML 2.0.

  4. Реализация авторизационного запроса. На странице входа формируется URL вида
    https://esia.gosuslugi.ru/aas/oauth2/ac?client_id=YOUR_CLIENT_ID&response_type=code&scope=openid&redirect_uri=YOUR_REDIRECT_URI&state=RANDOM_STRING.
    Пользователь вводит логин и пароль в ЕСИА, после чего система перенаправляет его на указанный redirect_uri с параметрами code и state.

  5. Обмен кода на токен. На сервере приложение делает POST‑запрос к эндпоинту https://esia.gosuslugi.ru/aas/oauth2/te с параметрами grant_type=authorization_code, code=RECEIVED_CODE, client_id, client_secret и redirect_uri. В ответ получаем JSON‑объект, содержащий access_token, refresh_token и id_token. Токены необходимо сохранять в защищённом хранилище и использовать для последующих запросов к API Госуслуг.

  6. Вызов сервисов Госуслуг. С помощью полученного access_token делаем запросы к необходимым эндпоинтам, например https://api.gosuslugi.ru/portal/v1/…. В заголовке Authorization указываем Bearer ACCESS_TOKEN. Ответы приходят в формате JSON, их можно сразу обрабатывать в бизнес‑логике вашего приложения.

  7. Обновление токенов. По истечении срока действия access_token (обычно 1 час) необходимо выполнить запрос к https://esia.gosuslugi.ru/aas/oauth2/te с параметром grant_type=refresh_token и передать refresh_token. Система выдаст новый набор токенов без повторного ввода учётных данных пользователем.

  8. Тестирование и отладка. На этапе разработки рекомендуется использовать тестовую среду ЕСИА (sandbox), где доступны те же эндпоинты, но без воздействия на реальных пользователей. В кабинете разработчика можно включить режим отладки, получать полные логи запросов и ответов, а также просматривать список активных токенов.

  9. Публикация и поддержка. После успешного прохождения тестов публикуете приложение в продакшн‑окружении, обновляете список redirect_uri на реальные адреса и отключаете тестовый режим. Регулярно проверяйте сроки действия сертификатов, обновляйте client_secret при необходимости и следите за уведомлениями от Госуслуг о изменениях в API.

Следуя этим шагам, вы полностью интегрируете ЕСИА в своё решение на платформе Госуслуг, получаете надёжный механизм единой аутентификации и обеспечиваете пользователям безопасный доступ к государственным сервисам.