Как сделать ЕСИА в Госуслугах? - коротко
Перейдите на портал Госуслуг, нажмите «Войти», выберите «Регистрация через ЕСИА», введите данные паспорта и подтвердите код из SMS‑сообщения. После подтверждения вы получите доступ к личному кабинету и всем сервисам.
Как сделать ЕСИА в Госуслугах? - развернуто
Для начала необходимо получить доступ к порталу разработчиков Госуслуг. Регистрация проходит по адресу https://developer.gosuslugi.ru: вводятся корпоративные данные, подтверждается юридический статус организации и создаётся учётная запись. После подтверждения вы получаете возможность создавать проекты в системе.
-
Создание проекта. В личном кабинете выбираете пункт «Создать приложение», указываете название, описание и тип интеграции (веб‑приложение, мобильное приложение, сервер‑сайд). На этом этапе система формирует уникальный идентификатор клиента (client_id) и секретный ключ (client_secret). Их необходимо сохранить в надёжном месте – они понадобятся при запросах к ЕСИА.
-
Настройка URL‑ов перенаправления. В разделе «Redirect URIs» указываете все адреса, на которые будет возвращаться пользователь после авторизации. Каждый URL должен соответствовать протоколу HTTPS и быть предварительно проверен системой.
-
Выбор протокола аутентификации. Госуслуги поддерживают два основных механизма: OAuth 2.0 и SAML 2.0. Для большинства веб‑приложений предпочтительнее OAuth 2.0 с потоком «Authorization Code». При необходимости взаимодействия с корпоративными системами может потребоваться SAML 2.0.
-
Реализация авторизационного запроса. На странице входа формируется 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. -
Обмен кода на токен. На сервере приложение делает 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 Госуслуг. -
Вызов сервисов Госуслуг. С помощью полученного access_token делаем запросы к необходимым эндпоинтам, например
https://api.gosuslugi.ru/portal/v1/…. В заголовке Authorization указываемBearer ACCESS_TOKEN. Ответы приходят в формате JSON, их можно сразу обрабатывать в бизнес‑логике вашего приложения. -
Обновление токенов. По истечении срока действия access_token (обычно 1 час) необходимо выполнить запрос к
https://esia.gosuslugi.ru/aas/oauth2/teс параметромgrant_type=refresh_tokenи передать refresh_token. Система выдаст новый набор токенов без повторного ввода учётных данных пользователем. -
Тестирование и отладка. На этапе разработки рекомендуется использовать тестовую среду ЕСИА (sandbox), где доступны те же эндпоинты, но без воздействия на реальных пользователей. В кабинете разработчика можно включить режим отладки, получать полные логи запросов и ответов, а также просматривать список активных токенов.
-
Публикация и поддержка. После успешного прохождения тестов публикуете приложение в продакшн‑окружении, обновляете список redirect_uri на реальные адреса и отключаете тестовый режим. Регулярно проверяйте сроки действия сертификатов, обновляйте client_secret при необходимости и следите за уведомлениями от Госуслуг о изменениях в API.
Следуя этим шагам, вы полностью интегрируете ЕСИА в своё решение на платформе Госуслуг, получаете надёжный механизм единой аутентификации и обеспечиваете пользователям безопасный доступ к государственным сервисам.