Все про ЕСИА
Госуслуги — это единый государственный портал, благодаря которому каждый житель РФ может получить доступ к государственным и муниципальным услугам.
С появлением госуслуг решилась проблема вечных очередей, кучи записей и разрозненной базы пользователей в госучреждениях. Теперь при помощи портала можно и подать заявление на выдачу паспорта, и проверить автомобильные штрафы, и заказать выписку из трудовой книжки. Авторизация на Госуслугах происходит при помощи ЕСИА.
ЕСИА — это система идентификации, которая обеспечивает доступ к государственным ресурсам. В учетной записи ЕСИА содержатся все важные сведения о пользователе — паспортные данные, СНИЛС и ИНН, информация о штрафах и налогах, банковские данные. ЕСИА работает для идентификации не только на Госуслугах, но и на других государственных или муниципальных порталах.
С 2021 года начался эксперимент, в ходе которого пользователи получили возможность зарегистрироваться с помощью ЕСИА и на сторонних сайтах — например, на hh.ru, Циане, в сервисах «Яндекса». Список этих сайтов растет. Ожидается, что регистрация с помощью ЕСИА уменьшит количество мошеннических сделок и обезопасит использование ресурсов.
Каким сайтам подойдет интеграция с ЕСИА
Всем, где нужна точная идентификация пользователей и защита от мошенников. Необходимо трезво оценить, необходима ли авторизация через Госуслуги именно вашей компании — ведь многие пользователи с неохотой дают сторонним сайтам доступ к своим данным. Но если они увидят, что эти данные необходимы для использования вашего ресурса, тогда ЕСИА станет хорошим решением.
Это удобно, потому что на портал сразу подтягиваются данные о пользователе. Это безопасно, потому что ЕСИА использует продвинутую криптографическую защиту. И это спасает от мошенников, потому что в учетной записи ЕСИА содержаться все сведения о ее владельце — от имени и фамилии до номера СНИЛС.
Интеграция с ЕСИА идеально подойдет для:
- Сайтов объявлений (наподобие «Авито»);
- Порталов, связанных с недвижимостью (покупка и аренда);
- Сайтов отелей, гостиниц, турбаз;
- Банков и микрофинансовых организаций;
- Страховых компаний;
- Медицинских учреждений;
- Провайдеров связи;
- Негосударственных пенсионных фондов;
- Брокерских контор;
- Адвокатских контор;
- Сайтов по продаже и аренде автомобилей.
Официально интегрироваться с Госуслугами пока могут только медицинские компании, операторы связи, банки, страховщики, финансовые управляющие и пенсионные фонды. Но вы в любом случае можете подать заявку, написав, что хотите участвовать в эксперименте по авторизации через учетную запись Госуслуг. По этой ссылке находится шаблон заявки для подключения вашей информационной системы к Системе межведомственного электронного взаимодействия (СМЭВ) — сам шаблон можно скачать здесь. Заявку нужно отправить на адрес техподдержки СМЭВ — sd@sc.minsvyaz.ru.
Помимо быстрой идентификации и безопасности, ЕСИА дает еще некоторые дополнительные возможности, например:
Инструкция по авторизации Пользователей через портал Госуслуг (ЕСИА)
Важно!
Подключение с мобильных и стационарных устройств осуществляется с обязательной идентификацией и аутентификацией Пользователей на базе учетных записей портала Госуслуг (ЕСИА).
Администрирование процесса привязки Пользователей в том числе и добавление новых Пользователей осуществляется силами руководителей или администраторов образовательных организаций.
- Осуществить привязку педагогических работников к образовательной организации по инструкции, размещенной на портале Госуслуг «Как присоединить к профилю компании сотрудников». (Ответственным за данный процесс является руководитель или администратор образовательной организации);
- Получить учетную запись «единой системы идентификации и аутентификации (ЕСИА) на портале Госуслуг (осуществляется Пользователями образовательной организации);
- Присоединиться к профилю образовательной организации при наличии подтвержденной учетной записи на портале Госуслуг (осуществляется Пользователями образовательной организации);
- Пройти авторизацию и идентификацию через портал Госуслуг для входа в интернет:
- При использовании мобильного устройства Пользователь на своем устройстве в списке сетей видит необходимый SSID «ESPD»;
- При использовании мобильного устройства Пользователь выбирает сеть и подключается к ней;
- Если на устройствах с ОС Android captive портал в автоматическом режиме не открывается, необходимо на своем устройстве открыть интернет браузер и в адресной строке ввести http://espd.rt.ru или http://edu.gov.ru;
- Для авторизации на ПК пользователь открывает интернет-браузер и в адресной строке браузера вводит http://espd.rt.ru/ или http://edu.gov.ru/
- При подключении по Wi-Fi на мобильном устройстве в браузере сайта по протоколу HTTP открывается страница Captive портала, что означает подключение к Wi-Fi сети (см. рис.1 «Приветственная страница Wi-Fi»)
- При подключении на ПК в браузере сайта по протоколу HTTP открывается страница Captive портала с кнопкой Авторизации.
Рисунок 1. Приветственная страница портала
- Пользователь нажимает на кнопку «Авторизоваться» и переходит на портал Госуслуг, где ему необходимо ввести свои данные учётной записи. Учётная запись должна быть верифицирована (должна быть подтверждена и привязана в ЕСИА к ОО через ОГРН ОО), в противном случае пользователь получит ошибку (Рис. 5).
Рисунок 2. Переход на страницу Госуслуг
- После нажатия на кнопку «Войти», потребуется согласиться с предоставлением прав доступа к данных пользователя (Рис. 3), в противном случае, пользователь будет перенаправлен обратно на портал с соответствующей ошибкой (Рис. 7).
Рисунок 3. Предоставление прав доступа
- Пользователя перенаправляет на стартовую страницу сети ЕСПД или главную страницу сайта Министерства просвещения. Доступ в интернет открыт (Рис. 4).
Доступ в интернет открыт:
Рисунок 4. Успешная авторизация. Переход на сайт edu.gov.ru
Возможные ошибки
Пользователь не ассоциирован с организацией: В случае отсутствии привязки Пользователя к образовательной организации будет возникать ошибка:
Рисунок 5. Пользователь не ассоциирован с организацией
Решение: Обратиться к руководителю образовательной организации или администратору для привязки к профилю компании (согласно п.1 данной инструкции).
Ввод неверного логина/пароля или Возврат на страницу портала
Рисунок 6. Неуспешная авторизация
Рисунок 7. Пользователь не предоставил права доступа к данным
Решение: Требуется выполнить верификацию учётной записи и выполнить привязку к образовательной организации, проверить вводимые учётные данные.
После успешного ввода учётных данных нажать «Войти».
Завершение авторизованной сессии
В браузере, в котором Пользователь ранее проходил авторизацию и вышел в Интернет, необходимо повторно зайти на портал, например, введя в адресной строке его адрес: https://edu.wifi.rt.ru.
Важно, чтобы использовался тот же браузер без режима инкогнито: сессия запоминается с помощью cookie длительностью действия на 10 часов. На портале находится кнопка для завершения сессии:
Рисунок 8.
При нажатии происходит завершение текущей авторизованной сессии, портал выполняет редирект на себя, который может занять несколько секунд на время старта новой сессии без авторизации.
Во время редиректа в браузере может запуститься новая вкладка с редиректом на портал. После возвращения на портал, Пользователь увидит страницу с сообщением и кнопкой начала новой сессии:
Рисунок 9.
При нажатии на которую, выполняется редирект на портал с возможностью пройти авторизацию с другими учётными данными ЕСИА:
Рисунок 10.
Для выхода в Интернет с использованием другой учётной записи Госуслуг, может потребоваться выполнить выход. Для этого перейдите на портал по адресу https://esia.gosuslugi.ru, если пользовательская сессия осталась активной, нажмите на ссылку для выхода из учетной записи.
Рисунок 11.
Техническая поддержка проекта ЕСПД «Цифровая экономика».
Государственные контракты № 0410/151 от 30.12.2021, № 0410/56 от 10.08.2022, № 0410/121 от 26.12.2022
Регламент технической поддержки
Как интегрировать авторизацию через Госуслуги (ЕСИА) с помощью Docker и Typescript
Привет, Хабр! В одном из постов блога мой коллега Иван писал о нашем блокчейн-сервисе для онлайн-голосований WE.Vote. Он подробно разобрал, как работает WE.Vote с точки зрения технологий. Но чтобы сервисы удаленного голосования можно было использовать для принятия официальных решений юрлиц, не хватает еще одного важного компонента — достоверной верификации участников. В России для этого можно провести интеграцию с ЕСИА (Единой Системой Идентификации и Аутентификации) — проще говоря, с Госуслугами. Интеграция эта заметно отличается от интеграции с другими OAuth2-сервисами, как, например, Google или VK. В этом посте мы постараемся помочь тем, кто захочет интегрировать ЕСИА в свой сервис через стек, подобный нашему, а также дадим несколько полезных ссылок по ЕСИА в принципе.

Зачем нам ЕСИА?
Согласно Федеральному закону № 225-ФЗ от 28.06.2021 «О внесении изменений в часть первую Гражданского кодекса Российской Федерации», многие организаций в РФ получили право проводить официальные собрания и голосования по корпоративным вопросам дистанционно.
Ранее решения с юридической силой требовали очных собраний или голосований по почте. Голосования по почте не отличаются надежностью, а собрать много руководителей со всей России в одном месте — это кошмар с точки зрения затрат.
Чтобы проводить мероприятия принятия решения дистанционно в соответствии с новым федеральным законом, необходимо предоставить возможность достоверного установления личности участников. В России это возможно через проверку доступа к верифицированному аккаунту на Госуслугах.
Стек и схема интеграции
Для интеграции мы используем:
Typescript, ReactJS, NestJS
КриптоПро CSP 4
Формирование подписи
Прежде чем разбирать все по порядку, кое о чем стоит подумать заранее. В отличие от других интеграций, запросы к ЕСИА должны сопровождаться подписью ГОСТ Р 34.10/11-2012, а не просто API key. Создать такую подпись можно с помощью утилиты КриптоПро CSP. Для нас основная задача здесь — правильно обернуть эту утилиту в Docker, чтобы с ней можно было работать как с отдельным сервисом в рамках нашей инфраструктуры. Получившийся сервис мы выложили в открытый доступ на гитхабе. Инструкция по запуску есть в README.md.
В процесс сборки Docker образа сервиса с утилитой КриптоПро мы встроили:
Установку утилиты КриптоПро СSP 4 из .deb пакета
Установку лицензии КриптоПро
Загрузку корневого сертификата тестовой или основной среды ЕСИА
Загрузку пользовательского сертификата с PIN кодом
REST-сервер с методом, позволяющим создавать подписи
Таким образом вся криптография собрана в отдельном самостоятельном компоненте, который можно использовать, когда необходимо что-нибудь подписать. Вот как это выглядит на бэкенде:
С созданием подписей разобрались, теперь последовательно разберем, как реализовать схему выше.
Создание ссылки для редиректа на страницу ЕСИА
Все начинается с того, что пользователь решает пройти авторизацию через ЕСИА. Создаем на бэкенде ссылку для перехода с использованием нашего инструмента формирования подписей.
В redirectLink необходимо указать адрес страницы, на которую ЕСИА перенаправит пользователя после успешной аутентификации. Созданную ссылку возвращаем на фронтенд и перенаправляем на нее пользователя.
Получение авторизационного токена ЕСИА
Запрос токена идентификации
После успешной аутентификации на странице ЕСИА пользователь возвращается на фронтенд приложения по указанному нами адресу. ЕСИА передаёт авторизационный токен в виде get-параметра code. Этот токен необходимо передать на бэкенд и запросить с его помощью идентификационный токен пользователя.
Получение данных о пользователе
Идентификационный токен пользователя необходимо проверить с помощью публичного RSA ключа от ЕСИА и получить из него id пользователя. С помощью этого id и accessToken, который мы получили в предыдущем шаге, мы уже наконец можем запросить персональные данные пользователя.
На этом шаге мы уже имеем все необходимые данные о пользователе. Остается только занести их в свою систему и закончить авторизацию.
Полный код интеграционного модуля на бэкенде
Надеюсь, статья оказалась для вас полезной. Желаю, чтобы у вас все получилось без особых проблем!
ЕСИА для бизнеса: как подключить ваш сайт к «Госуслугам» и зачем вообще это делать
Единый портал государственных услуг может быть полезен не только для частных лиц, но и для бизнеса. Одна из возможностей – подключить к «Госуслугам» свой сайт, чтобы сделать более удобной идентификацию пользователей и защитить их и себя от мошенников. О том, как подключить сайт к «Госуслугам», в своём корпоративном блоге рассказала scrum-студия Sibirix.
«Госуслуги» – это портал, благодаря которому жители России могут получить доступ к государственным и муниципальным услугам. С его появлением существенно снизилась острота проблемы вечных очередей, кучи записей и разрозненной базы пользователей в госучреждениях. Теперь при помощи портала можно подать заявление на выдачу паспорта, проверить и оплатить штрафы ГИБДД, заказать выписку из трудовой книжки и сделать много других важных вещей. Авторизация на «Госуслугах» происходит при помощи ЕСИА.
ЕСИА – это система идентификации, которая обеспечивает доступ к государственным ресурсам. В учётной записи ЕСИА содержатся все важные сведения о пользователе – паспортные данные, СНИЛС и ИНН, информация о штрафах и налогах, банковские данные. ЕСИА работает для идентификации не только на «Госуслугах», но и на других государственных или муниципальных порталах.
С 2021 года начался эксперимент, в ходе которого пользователи получили возможность зарегистрироваться с помощью ЕСИА и на сторонних сайтах – например, на HH.ru, «Циане», сервисах «Яндекса» и т.д. Список таких сайтов растёт. Ожидается, что регистрация с помощью ЕСИА уменьшит количество мошеннических сделок и обезопасит использование ресурсов.
Всем, где нужна точная идентификация пользователей и защита от мошенников. Необходимо трезво оценить, необходима ли авторизация через «Госуслуги» именно вашей компании – ведь многие пользователи с неохотой дают сторонним сайтам доступ к своим данным. Но если они увидят, что эти данные необходимы для использования вашего ресурса, тогда ЕСИА станет хорошим решением.
Это удобно, потому что на портал сразу подтягиваются данные о пользователе. Это безопасно, потому что ЕСИА использует продвинутую криптографическую защиту. И это спасает от мошенников, потому что в учётной записи ЕСИА содержатся все сведения о её владельце – от ФИО до номера СНИЛС.