Перейти к содержимому

Авторизация на сайте через госуслуги как сделать

  • автор:

Все про ЕСИА

Госуслуги — это единый государственный портал, благодаря которому каждый житель РФ может получить доступ к государственным и муниципальным услугам.

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

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

С 2021 года начался эксперимент, в ходе которого пользователи получили возможность зарегистрироваться с помощью ЕСИА и на сторонних сайтах — например, на hh.ru, Циане, в сервисах «Яндекса». Список этих сайтов растет. Ожидается, что регистрация с помощью ЕСИА уменьшит количество мошеннических сделок и обезопасит использование ресурсов.

Каким сайтам подойдет интеграция с ЕСИА

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

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

Интеграция с ЕСИА идеально подойдет для:

  • Сайтов объявлений (наподобие «Авито»);
  • Порталов, связанных с недвижимостью (покупка и аренда);
  • Сайтов отелей, гостиниц, турбаз;
  • Банков и микрофинансовых организаций;
  • Страховых компаний;
  • Медицинских учреждений;
  • Провайдеров связи;
  • Негосударственных пенсионных фондов;
  • Брокерских контор;
  • Адвокатских контор;
  • Сайтов по продаже и аренде автомобилей.

Официально интегрироваться с Госуслугами пока могут только медицинские компании, операторы связи, банки, страховщики, финансовые управляющие и пенсионные фонды. Но вы в любом случае можете подать заявку, написав, что хотите участвовать в эксперименте по авторизации через учетную запись Госуслуг. По этой ссылке находится шаблон заявки для подключения вашей информационной системы к Системе межведомственного электронного взаимодействия (СМЭВ) — сам шаблон можно скачать здесь. Заявку нужно отправить на адрес техподдержки СМЭВ — sd@sc.minsvyaz.ru.

Помимо быстрой идентификации и безопасности, ЕСИА дает еще некоторые дополнительные возможности, например:

Инструкция по авторизации Пользователей через портал Госуслуг (ЕСИА)

Важно!
Подключение с мобильных и стационарных устройств осуществляется с обязательной идентификацией и аутентификацией Пользователей на базе учетных записей портала Госуслуг (ЕСИА).
Администрирование процесса привязки Пользователей в том числе и добавление новых Пользователей осуществляется силами руководителей или администраторов образовательных организаций.

  1. Осуществить привязку педагогических работников к образовательной организации по инструкции, размещенной на портале Госуслуг «Как присоединить к профилю компании сотрудников». (Ответственным за данный процесс является руководитель или администратор образовательной организации);
  2. Получить учетную запись «единой системы идентификации и аутентификации (ЕСИА) на портале Госуслуг (осуществляется Пользователями образовательной организации);
  3. Присоединиться к профилю образовательной организации при наличии подтвержденной учетной записи на портале Госуслуг (осуществляется Пользователями образовательной организации);
  4. Пройти авторизацию и идентификацию через портал Госуслуг для входа в интернет:
  • При использовании мобильного устройства Пользователь на своем устройстве в списке сетей видит необходимый 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, «Циане», сервисах «Яндекса» и т.д. Список таких сайтов растёт. Ожидается, что регистрация с помощью ЕСИА уменьшит количество мошеннических сделок и обезопасит использование ресурсов.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *