Часто задаваемые вопросы (FAQ) по ЕСИА и подключению к ней.

Как можно проверить, что ответ с результатами идентификации получен именно от есиа?

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

В случае OpenID Connect при входе пользователя нужно проверять полученный ID Token. Структура токена описана в документе «Методические рекомендации по использованию ЕСИА». Актуальный сертификат ключей, используемых для подписи ID Token, Минкомсвязь не публикует, но его можно запросить, обратившись в техническую поддержку ЕСИА.

Какие требования предъявляются к веб-сайту, чтобы он мог использовать функции подписания документов?

Blitz Smart Card Plugin — это клиентское программное обеспечение. Это означает, что браузер сможет вызывать функции работы с электронной подписью только после установки на машину пользователя специального плагина. Вместе с плагином предоставляется JavaScript, который должен быть встроен на сайт для возможностей использования функций электронной подписи.

Авторизация (получение авторизационного кода)

Параметры:

Примеры:

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

Будет ли плагин работать со старыми версиями браузера firefox, в том числе действующим esr-релизом?

Да, Blitz Smart Card Plugin совместим как со старыми версиями Firefox, использующими NPAPI, так и новыми версиями Firefox (версия 52 и новее), работающими через Native Messaging API. Поставляющийся с плагином JavaScript проверяет версию Firefox, установленного у пользователя, и использует актуальный способ взаимодействия с плагином.

Ваш плагин не поддерживает мой тип ключей. можно ли добавить мой токен в число поддерживаемых?

Пожалуйста, обратитесь к нами с использованием формы обратной связи. Сообщите нам имя токена и его производителя. Мы сообщим, сможем ли поддержать запрошенный тип ключей.

Похожее:  Авторизация через базы данных на PHP | Трепачёв Дмитрий

Взаимодействие по защищённому протоколу

В соответствии с ч. 19 и ч. 21 ст. 14.1 Федерального закона от 27.07.2006 №149-ФЗ “Об информации, информационных технологиях и о защите информации” для обеспечения защиты передаваемых биометрических персональных данных от актуальных угроз безопасности должны применяться сертифицированные средства криптографии (шифрования).

Таким образом каждый пользователь, инициирующий (по средством браузера) соединение, с целью проведения процедур биометрической идентификации должен быть уведомлён о необходимости установки российских сертифицированных средств криптографической защиты если таковые не были установлены в его браузере.

В случае отказа пользователя от использования российских сертифицированных средств криптографической защиты его необходимо уведомить о рисках перехвата биометрических персональных данных злоумышленником, для дальнейшего их использования в мошеннических целях.

Браузеры, поддерживающие российские сертифицированные средства криптографической защиты:

  • Яндекс.Браузер версии 19.3. и выше
  • Спутник версии 4.1 и выше
  • Internet Explorer версии 11.0.9600 и выше

Сертифицированные СКЗИ:

  • КриптоПРО CSP 5.0
  • ViPNet CSP Win 4.4 Windows RUS

Контроль использования российских сертифицированных средств криптографической защиты возлагается на клиентскую систему (КИС), являющуюся стороной, по средством которой пользователь инициирует процесс биометрической идентификации.

Выписка с данными в исходном виде:

Получение данных о документах в исходном виде происходит так же путем указания scope.Сервис доступен для типов документов VEHICLE_INFO (Выписка
о транспортном средстве по владельцу), ILS_PFR (Cведения о состоянии индивидуального
страхового счета застрахованного лица)

, PAYOUT_INCOME (Сведения о доходах
физического лица и о выплатах страховых взносов, произведенных в пользу физического
лица). Но в случае запроса данных ответ может поступить не сразу, а в течении некоторого времени.В случае, если сведение запрошено в ведомстве и ответ еще не поступил, возвращается
идентификатор этого запроса и идентификатор пользователя (oid).

С помощью идентификатора
запроса осуществляется процесс обработки персональных данных. Для возможности получения
сведения о выписки транспортого средства по владельцу необходимо обновить запрос. Перечень
параметров, которые возвращаются по каждому типу документа (doc_type), приведен в разделе
7.2 методических рекомендаций.

Пример ответа в случае запроса openid и fullname из защищённого хранилища ЕСИА:

{"sub":"3","info":{"uid":"1000486446","stateFacts":["EntityRoot"],"firstName":"Тимофей","lastName":"Сазонов","middleName":"Трофимович","trusted":true,"updatedOn":1633359785,"status":"REGISTERED","verifying":true,"rIdDoc":160710,"containsUpCfmCode":false,"eTag":"A543E45F09EDC6AEE19530A674E636B54F9A29CC"}}

Выход из системы есиа

Параметры:

Для получения данных отправляется GET запрос

Для инициации процесса выхода из системы ЕСИА необходимо сформировать авторизационный запрос и передать его на соответствующий URL шлюза. Для пользователя с вышеуказанными параметрами ссылка будет иметь следующий вид:

ВАЖНО! Путь возврата пользователя обязательно должен быть указан в соответствующей КИС

Должен ли я использовать гост‑криптографию для подключения к есиа?

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

Согласно действующему документу «Методические рекомендации по использованию ЕСИА» можно использовать при подключении как RSA, так и ГОСТ.

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

Доступ к сервисам шлюза

Для доступа к сервисам шлюза необходимо с помощью функциональных инструментов его административной панели создать КИС, указав в её параметрах «Пути возврата» – URL-адрес(а) клиентской ИС (потребителя идентификации), на которые шлюз будет отвечать после выполнения авторизации.

Для доступа к сервисам шлюза потребуются следующие реквизиты:

Значение идентификатора и секрета для КИС берутся из её параметров в административной панели шлюза.

ЕСИА Шлюз не занимается валидацией скоупов, переданных клиентской системой. Скоупы просто передаются в ЕСИА. Поэтому .well-known/openid-configuration содержит пустой массив в scopes_supported.

Как информационная система работает с есиа

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

Технически процесс выглядит так:

Как лицензируется esia‑bridge?

ESIA‑Bridge лицензируется на домен организации. Это означает, что с помощью одной купленной лицензии организация может подключить к ЕСИА все свои сайты, функционирующие на общем домене второго уровня (any-site.company.ru). Лицензия не ограничена сроком действия, нет также ограничений на количество установок ПО ESIA‑Bridge, количество пользователей, количество процессорных ядер.

Чтобы узнать стоимость лицензии, обратитесь к нам. В зависимости от принятой в вашей компании ставки специалиста стоимость лицензии ПО ESIA‑Bridge — это эквивалент 1-2 недель трудозатрат собственных или привлеченных разработчиков.

Опционально также оказываются следующие услуги:

  • Консультационные услуги при внедрении, включая необходимую организационную поддержку в процессе регистрации и подключения к ЕСИА, развертывании в вашей инфраструктуре ПО ESIA‑Bridge, подключении ваших систем к ESIA‑Bridge.
  • Годовая техническая поддержка ПО ESIA‑Bridge. Доступ к обновлениям ПО, консультации в течение года, обработка инцидентов с ПО.

Как организации подключиться к есиа

Процедура подключения занимает около месяца. Это время включает регистрацию необходимых аккаунтов, получение данных от Минцифры, работы по интеграции ИС.

1. Зарегистрируйте руководителя организации на Портале госуслуг. Регистрировать компании в ЕСИА могут только те их представители, которые вправе действовать без доверенности. Им понадобится подтверждённая учётная запись физического лица – т.е. нужно будет не только указать свои данные, но и обратиться в банк или МФЦ для верификации. В последнее время многие банки позволяют сделать это онлайн, через их приложения.

2. Зарегистрируйте вашу организацию.

a. Получите квалифицированную электронную подпись (КЭП) на руководителя организации.

b. Зарегистрируйте юридическое лицо в профиле ЕСИА.

c. Оформите КЭП для юридического лица.

Оформлением КЭП занимаются аккредитованные удостоверяющие центры. Подробная инструкция по этому процессу здесь.

3. Зарегистрируйте информационную систему в ЕСИА.

Регистрация системы происходит через технологический портал. Доступ к нему может получить один из сотрудников компании – действовать через аккаунт представителя уже не обязательно. Этот процесс подробно расписан в Руководстве пользователя технологического портала ЕСИА. В результате регистрации информационная система заносится в реестр ИС и получает мнемонический буквенно-цифровой код.

4. Доработайте систему для обмена данными с ЕСИА.

Аутентификация пользователей в ЕСИА происходит по OAuth 2.0 и OpenID Connect 1.0. Компании необходимо сгенерировать закрытый ключ и сертификат открытого ключа, зарегистрировать его на технологическом портале. Стоит отметить, что ЕСИА поддерживает только российские алгоритмы шифрования ГОСТ Р 34.10-2022 и ГОСТ Р 34.11-2022.

Стоит отдельно отметить, что если в компании уже используются средства верификации пользователей посредством Single Sign-On, то особых технических трудностей при подключении к ЕСИА не будет.

5. Подключитесь к тестовой среде ЕСИА

На этом этапе нужно отправить на адрес [email protected] заявку по форме, которая приводится в Регламенте взаимодействия заявителей с операторами ЕСИА.

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

6. Подключитесь к промышленной среде ЕСИА

Когда всё готово, вы отправляете ещё одну заявку на [email protected]. Остаётся проверить работоспособности интеграции – и готово.

Полезные ссылки

1. Полное руководство по работе с системой

2. Регламент с описанием процедуры получения тестового доступа к ЕСИА

3. Методические рекомендации по использованию ЕСИА

Какие возможности открывает такая идентификация

1. Клиент может подписывать юридически значимые электронные документы, получать защищённый доступ к конфиденциальной информации, медицинским данным и т.д.

2. Появляется возможность автоматически заполнять в анкетах и заявках персональные данные клиента: ФИО, данные паспорта, ИНН, информация о детях и др. При этом компания может быть уверена, что эти данные абсолютно верны и правдивы.

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

4. Для пользователя верификация с ЕСИА повышает доверие к сервису и делает саму процедуру удобнее – не нужно помнить дополнительные пароли, просто нажимаешь знакомую кнопку и всё.

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

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

Какие готовые решения можно использовать для подключения к есиа?

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

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

Какие данные можно получать из есиа?

Перечень доступных к получению сведений зависит от:

  1. Категории организации, подключающейся к ЕСИА
  2. Использованного способа подключения к ЕСИА

Минкомсвязь ограничивает перечень данных, доступных коммерческим организациям. Обычно разрешают получать только сведения о ФИО, реквизитах паспорта (серия и номер, кем и когда выдан), гражданстве, а также признака «подтвержденности» аккаунта и идентификатора аккаунта в ЕСИА.

Государственные организации могут получать из ЕСИА полный набор данных о пользователе и его организациях. Это следующие сведения:

  1. личные данные (ФИО, пол, дата и место рождения, гражданство)
  2. данные идентификационных документов (СНИЛС, ИНН, общегражданский и заграничный паспорт, свидетельство о рождении, водительское удостоверение, военный билет, полис ОМС)
  3. контактная информация (email, мобильный и домашний телефон, адреса регистрации и проживания)
  4. сведения о детях (личные данные и документы)
  5. сведения о транспортных средствах (номер и свидетельство о регистрации)
  6. сведения об организациях и ИП (наименование, ОГРН, ИНН/КПП, организационно-правовая форма, юридический адрес, контакты, филиалы, списки сотрудников, полномочия сотрудников, транспортные средства организации)
  7. данные учетной записи (идентификатор аккаунта в ЕСИА, признак «подтвержденности» аккаунта)

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

При подключении системы к ЕСИА по протоколу SAML к получению доступно значительно меньше данных, чем можно получить при подключении системы по OpenID Connect. Детальная информация приведена в документе «Методические рекомендации по использованию ЕСИА».

Какие учетные записи бывают в есиа? чем отличаются «подтвержденная», «стандартная» и «упрощенная» учетные записи?

С точки зрения конечного пользователя существует три статуса учетной записи:

  1. Упрощенная — когда пользователь только зарегистрировал новый аккаунт и еще не указал данные своего СНИЛС и паспорта.
  2. Стандартная — когда пользователь указал данные своего СНИЛС и паспорта, и эти данные прошли проверки в государственных реестрах.
  3. Подтвержденная — когда пользователь подтвердил владение учетной записью — посетил для этого центр регистрации, воспользовался электронной подписью либо получил по Почте России проверочный код.

При подключении к ЕСИА коммерческой системы можно разделять только то, является ли учетная запись «подтвержденной» или нет. Данные для того, чтобы отличить упрощенную учетную запись от стандартной коммерческим системам не предоставляются.

Государственная система может получить более детальную информацию о типе учетной записи и даже об использованном типе подтверждения учетной записи (каким способом пользователь подтверждал учетную запись).

Какова полнота данных в есиа?

В зависимости от того, как давно пользователь регистрировался, могут быть свои особенности по минимально заполненному у пользователя набору данных.

  1. В норме у «подтвержденной» учетной записи заполнен хотя бы один контакт, заданы ФИО, пол, дата рождения, СНИЛС и паспортные данные.
  2. Есть достаточно много учетных записей, у которых может быть не заполнен паспорт. Это означает, что-либо пользователь регистрировался давно, когда паспорт был необязателен, либо у пользователя были проблемы с проверкой паспорта в МВД в момент регистрации в центре обслуживания, связанные с тем, что МВД не мог в автоматическом режиме подтвердить правильность паспорта.
  3. Если учетная запись регистрировалась более 6 лет назад, и с тех пор пользователь не обновлял в ней данные, то можно встретить ситуацию, что у учетной записи могут быть не заполнены пол и дата рождения. Это весьма редкая ситуация.
  4. У учетной записи может быть не заполнено ни одного контакта (email, телефон).

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

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

Какой способ подключения к есиа используется esia‑bridge?

ESIA-Bridge при подключении к ЕСИА использует протокол OpenID Connect / OAuth 2.0. Поддерживается использование ключей RSA/ГОСТ на выбор заказчика.

С помощью ESIA‑Bridge возможно получение данных о пользователе как в момент его входа в систему, так и в будущем, до тех пор пока пользователь не отзовет данное системе разрешение на доступ к его данным.

Кто может подключиться к есиа?

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

Законодательство со временем корректируется, и вместе с ним расширяется перечень организаций, которым разрешено подключиться к ЕСИА.

Можно ли подключить к есиа мобильное приложение ios/android?

Да, можно. От мобильного приложения при этом потребуется взаимодействовать с ЕСИА с использованием встроенного или нативного браузера в момент привязки аккаунта ЕСИА к установке приложения на мобильном устройстве пользователя. Примером реализации такой интеграции может служить штатное мобильное приложение Госуслуги.

Тем не менее, интеграция мобильных приложений с ЕСИА — это большая редкость.

Можно ли с вашим плагином использовать электронную подпись на смартфонах и планшетах?

К сожалению, наш плагин работает только на компьютерах под управлением операционных систем Windows, macOS и Linux (Linux Ubuntu 14/16, Linux Fedora 23, Linux Mint 17/18, CentOS и др.). Операционные системы мобильных устройств, такие как IOS и Android, не поддерживаются.

Можно ли с помощью одного esia‑bridge подключить к есиа несколько сайтов?

Да, можно подключить любое количество систем одной организации.

Мы хотели бы использовать ваш плагин на своем сайте. можем ли мы предоставлять пользователям плагин для загрузки с нашего сайта? возможно ли для нашей версии изменить название и логотип плагина?

Да, если вы купили лицензию, вы можете использовать и распространять плагин с вашего веб-сайта. Вы также можете заказать выпуск специальной версии плагина, брендированной для вашей компании или вашего сайта. Свяжитесь с нами для получения дополнительной информации.

Насколько актуальны данные в есиа?

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

  1. Связка ФИО, пол, дата рождения, СНИЛС — проверяется по базе пенсионного фонда.
  2. Связка ФИО, паспортные данные — проверяется по базе паспортов МВД.
  3. Связка ФИО и ИНН — по данным ФНС.
  4. Email и телефон — проверяются путем отправки проверочного сообщения.

Актуальность сведений гарантируется только на момент их проверки. При получении системой сведений из ЕСИА нужно допускать, что сведения уже могли устареть. Например, срок действия паспорта мог истечь или паспорт мог быть утерян.

Насколько реализация протоколов в есиа отличается от стандартов?

Реализация SAML соответствует стандарту SAML 2.0, профилям Web Browser SSO Profile и Single Logout Profile, спецификации Interoperable SAML 2.0 Web Browser SSO Deployment Profile. В части SAML в основе реализации ЕСИА лежит известный open source проект Shibboleth. Практически все популярные SAML-клиенты совместимы с ЕСИА. Нюансы ЕСИА заключаются в формате файла метаданных поставщика услуг и используемых ЕСИА утверждениях SAML Assertion для передачи сведений о пользователях. Регистрация метаданных на основе переданной ссылки не поддерживается — метаданные в ЕСИА всегда регистрируются файлом, переданным вместе с заявкой на подключение к ЕСИА. В случае изменений URL, сертификата и иных важных сведений на стороне подключаемой системы необходимо отправлять в Минкомсвязь заявку на корректировку параметров подключения к ЕСИА и прикладывать к заявке обновленные метаданные.

Реализация OpenID Connect / OAuth 2.0 в ЕСИА в целом основана на спецификации RFC6749 и профиле OpenID Connect 1.0. Но есть моменты, на которые стоит обратить внимание:

  1. В качестве client-secret используется не секретная строка, а электронная подпись. Особенности ее вычисления описаны в «Методические рекомендации по использованию ЕСИА»
  2. Для подключения можно использовать только Authorization Code Flow и Client Credentials Flow.
  3. ЕСИА не предоставляется стандартный UserInfo Endpoint и стандартные пользовательские атрибуты UserInfo Response Claims). Вместо него предоставляются специфичные для ЕСИА сервисы REST-API.
  4. В ЕСИА используется свой собственный справочник scope.
  5. Большинство опциональных режимов OpenID Connect не поддержаны. Среди поддерживаемых опциональных режимов можно выделить display=page/popup, prompt=none/login.

Стандартные библиотеки для подключения по OIDC/OAuth, в отличие от SAML, использовать без их доработки не получится.

Необходимо ли перезапускать браузер после установки плагина?

Нет, при установке плагина не требуется перезапускать браузер и операционную систему. Если плагин корректно встроен на ваш веб-сайт, то веб-страница может проверить, установлен ли плагин, а также подсказать пользователю о необходимых действиях, связанных с его установкой.

Необходимы ли административные привилегии для установки плагина?

Административные привилегии при установке плагина не требуются, если плагин устанавливается для использования текущим пользователем. Если же в процессе установки плагина выбрана опция установки плагина для всех пользователей компьютера, то для продолжения установки будет необходимо ввести пароль администратора.

Общие положения

Взаимодействие клиентской системы с сервисами шлюза, обеспечивающими идентификацию пользователей через ЕСИА, происходит через стандартный протокол OAuth 2.0/OpenID Connect. Авторизация в ЕСИА происходит, в данном случае, как обычная OAuth авторизация.

Для работы с данным протоколом имеются готовые открытые реализации под большинство популярных программных платформ.

Чтобы начать работу с ЕСИА Шлюзом необходимо интегрировать в целевую информационную систему одно из готовых средств, реализующих работу с протоколом OAuth 2.0.

Спецификация OpenID Connect

Получение данных пользователя

Параметры:

  • access_token – токен доступа.

Для получения данных отправляется GET запрос

на url при этом в параметре запроса access_token передается токен доступа.

Пример запроса на получение данных:

На основе полученного токена доступа шлюз предоставляет клиентским системам доступ к областям данных из защищённого хранилища ЕСИА.

ВАЖНО! В соответствии с законодательством перечень скоупов доступных для клиентских систем шлюза может быть ограничен. Поэтому, прежде чем указывать перечень скоупов в запросе к шлюзу, необходимо сверить этот перечень с перечнем скоупов указанным в заявке на подключение к тестовой/промышленной ЕСИА.

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

Получение документов из цифрового профиля:

Запрос документов происходит так же, как и запрос других данных – путем указания нужного scope. Но в случае запроса документа ответ может поступить не сразу, а в течении некоторого времени.В случае, если сведение запрошено в ведомстве и ответ еще не поступил, возвращается
идентификатор этого запроса и идентификатор пользователя (oid).

С помощью идентификатора
запроса осуществляется процесс обработки персональных данных. Для возможности получения
сведения о документах необходимо обновить запрос. Для типа документа
INCOME_REFERENCE (Справка о доходах и суммах налога физического лица (форма 2-НДФЛ))
дополнительно указывается параметр year – год, за который успешно получена справка 2-НДФЛ
в ведомстве.

В случае, если у пользователя нет информации по следющим сведениям: FID_BRTH_CERT,
OLD_BRTH_CERT, RF_BRTH_CERT, MARRIED_CERT, DIVORCE_CERT,
NAME_CHANGE_CERT и FATHERHOOD_CERT, то в ответе на запрос вернется ошибка 404.
Перечень параметров, которые возвращаются по каждому типу документа (doc_type),
приведены в разделе 7.2 методических рекомендаций.

Получение токена доступа (обмен авторизационного кода на токен доступа)

Параметры:

На предыдущем шаге после успешной авторизации в ЕСИА был получен авторизационный код, который следует обменять на токен доступа (access_token) для его последующего использования при получении пользовательских данных. Один код можно обменять только на один токен. Для этого отправляем POST запрос на url

со следующими параметрами запроса:

Пример запроса получения access_token:

Будет получен следующий ответ.

В поле access_token пользовательских данных.

Рецепты nginx: авторизация через есиа

Для приготовления авторизации через ЕСИА нам понадобится сам

nginx

и его плагины

encrypted-session

,

headers-more

,

auth_request

,

uuid4

,

set-misc

,

echo

,

json

,

sign

,

jwt

. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальные репозитории. Можно также воспользоваться

готовым образом

.)

Для начала зададим

encrypted_session_key "abcdefghijklmnopqrstuvwxyz123456";

Дальше, на всякий случай, отключаем авторизационный заголовок

more_clear_input_headers Authorization;

Теперь защищаем всё авторизацией

auth_request /auth;
location =/auth {
    internal;
    set_decode_base64 $auth_decode $cookie_auth; # раскодируем авторизационную куку
    set_decrypt_session $auth_decrypt $auth_decode; # расшифровываем авторизационную куку
    if ($auth_decrypt = "") { return 401 UNAUTHORIZED; } # если не удалось расшифровать, то значит пользователь не авторизован
    more_set_input_headers "Authorization: Basic $auth_decrypt"; # подменить авторизацию на basic (чтобы использовать переменную $remote_user)
    echo -n OK; # пользователь авторизован
}

Для авторизованных пользователей показываем контент из их папки

location / {
    alias html/$remote_user/;
}

А при отсутствии авторизации перенаправляем на ЕСИА

error_page 401 = @error401;
location @error401 {
    set $client_id мнемоника; # задаём мнемонику ЕСИА
    set $scope openid; # задаём запрашиваемые скоупы
    uuid4 $state; # генерируем случайное состояние
    set_formatted_local_time $timestamp "%Y.%m.%d %H:%M:%S %z"; # задаем дату-время в требуемом ЕСИА формате
    sign_certificate /data/nginx/esia.crt; # задаём сертификат (который мы загрузили в ЕСИА)
    sign_certificate_key /data/nginx/esia.key; # задаём приватный ключ
    sign_set $client_secret $scope$timestamp$client_id$state; # подписываем необходимые ЕСИА параметры
    set_escape_uri $access_type_escape online; # задаём необходимый ЕСИА способ доступа и кодируем его
    set_escape_uri $client_id_escape $client_id; # кодируем мнемонику
    set_escape_uri $client_secret_escape $client_secret; # кодируем подпись
    set_escape_uri $request_uri_escape $request_uri; # кодируем исходный запрос
    set_escape_uri $redirect_uri_escape $scheme://$server_name:$server_port/login?request_uri=$request_uri_escape; # задаём и кодируем адрес возврата
    set_escape_uri $response_type_escape code; # задаём и кодируем тип ответа
    set_escape_uri $scope_escape $scope; # кодируем скоупы
    set_escape_uri $state_escape $state; # кодируем состояние
    set_escape_uri $timestamp_escape $timestamp; # кодируем дату-время
    return 303 https://esia.gosuslugi.ru/aas/oauth2/ac?access_type=$access_type_escape&client_id=$client_id_escape&client_secret=$client_secret_escape&redirect_uri=$redirect_uri_escape&response_type=$response_type_escape&scope=$scope_escape&state=$state_escape&timestamp=$timestamp_escape; # перенаправляем на ЕСИА

После успешной авторизации пользователя в ЕСИА, его перенаправляет на адрес возврата

location =/login {
    auth_request off; # не использовать авторизацию
    auth_jwt_key /data/nginx/esia.pub file; # задаём публичный ключ (который мы получили от ЕСИА) для расшифровки токена
    auth_jwt $arg_code; # задаём токен
    json_loads $jwt_grant_json $jwt_grant; # парсим тело токена в переменную
    json_dumps $oid $jwt_grant_json urn:esia:sbj urn:esia:sbj:oid; # извлекаем oid
    try_files /try?username=$oid; # перенаправляем на дальнейшую обработку
}
location =/try {
    internal;
    if ($arg_username = "") { return 401 UNAUTHORIZED; } # если oid не получен, то значит пользователь не авторизован
    encrypted_session_expires 43200; # задаём время жизни сессии 12 часов (12 * 60 * 60 = 43200)
    set_secure_random_alphanum $password 8; # задаём случайный пароль для basic авторизации
    set $username_password ESIA-$arg_username:$password; # задаём basic авторизацию
    set_encode_base64 $username_password_encode $username_password; # кодируем basic авторизацию
    set_encrypt_session $auth_encrypt $username_password_encode; # зашифровываем basic авторизацию
    set_encode_base64 $auth_encode $auth_encrypt; # кодируем зашифрованную basic авторизацию
    add_header Set-Cookie "Auth=$auth_encode; Max-Age=43200"; # помещаем зашифрованную basic авторизацию в авторизационную куку на 12 часов (12 * 60 * 60 = 43200)
    set $arg_request_uri_or_slash $arg_request_uri; # копируем запрос из аргумента
    set_if_empty $arg_request_uri_or_slash "/"; # если аргумент не задан, то начало
    set_unescape_uri $request_uri_unescape $arg_request_uri_or_slash; # раскодируем запрос
    return 303 $request_uri_unescape; # перенаправляем на сохранённый запрос
}

Сколько времени уходит на подключение к есиа?

Технически подключение системы к ЕСИА с использованием готового решения выполняется в течение рабочего дня. Также необходимо до 5 дней (обычно 1-2 дня) на одобрение Минкомсвязи каждой поданной заявки на подключение к ЕСИА (последовательно подается две заявки — сначала на подключение к тестовой среде, после ее одобрения — на подключение к промышленной среде).

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

Сколько стоит подключиться к есиа?

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

Шаг №1 — создание учетной записи организации в есиа

Необходимо создать учетную запись организации через портал Госуслуг (см. раздел
3.2 Руководства ). Это может сделать
руководитель организации через сайт Госуслуг. Для этого он должен быть
зарегистрирован на госуслугах и иметь квалифицированную электронную подпись
(КЭП) юридического лица (в т.ч. это может быть подпись ЭП-СП).

За получением
средства КЭП нужно обратиться в один из аккредитованных Минкомсвязью России
удостоверяющих центров вашего региона.
Это может сделать
руководитель организации через сайт Госуслуг. Для этого он должен быть
зарегистрирован на госуслугах и иметь квалифицированную электронную подпись
(КЭП) юридического лица (в т.ч. это может быть подпись ЭП-СП).

За получением
средства КЭП нужно обратиться в один из аккредитованных Минкомсвязью России
удостоверяющих центров вашего региона. При невозможности получения КЭП в УЦ, необходимо обратиться в федеральное казначейство, ЦБ РФ или федеральную налоговую службу. В зависимости от типа организации.

Шаг №2 — предоставление доступа к тех. порталу

Для доступа к тех.порталу и переходу к шагу №3 вам необходимо, в учетной записи
созданной организации, перейти в раздел «Сотрудники» и добавить всех сотрудников,
которым будет необходим доступ к техпорталу. Во вкладке «Доступ к системам»,
также предоставить доступ всем сотрудников, которым необходим доступ для
управления системой.

Во вкладке «Группы доступа» необходимо «присоединить»
сотрудников, которым будет необходимо управлять ИС на техпортале, а также
«присоединить» администратора ИС к «Администраторам профиля ораганизации».

Внимание: После добавления сотрудников во все группы, необходимо выйти из
тех.портала и госуслуг, очистить кэш в браузере и перезайти в систему.

Шаг №4 — генерация необходимых файлов

При подаче заявки на подключение к тестовой среде ЕСИА вам потребуются ключ и
сертификат ключа.

ВАЖНО!

Шаг №7 — заполнение и отправка заявки на промышленную среду

После получения положительного ответа о подключении к тестовой среде ЕСИА
следует аналогично шагам №5-6 направить заявку на “На подключение к
промышленной среде ЕСИА”. В бланке заявке указать номер заявки на подключение к тестовой среде.

Я представляю коммерческую организацию. могу ли я подключиться к есиа?

Только если ваша организация входит в одну из разрешенных категорий: страховые компании, кредитные организации (банки), профессиональные участники рынка ценных бумаг, негосударственные пенсионные фонды, микрофинансовые и микрокредитные организации, операторы связи.

Я представляю уц. могу ли я использовать есиа для идентификации пользователей?

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

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

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