В этой статье представлена ​​информация и документация по ОВОСС

Рекомендация: подборка платных и бесплатных курсов дизайна интерьера – https://katalog-kursov.ru/

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

Первым делом надо создать сертификат для генерации подписи в формате pfx с закрытым ключом.
Для этого я использовал «PFX Certificate Generator». В настройках указывается служебная информация и информация для хеширования: sha256, длина ключа 2048.

После этого надо установить сертификат. Добавляем оснастку для сертификатов. открываем ветку «локальное хранилище», потом импортируем туда наш сгенеренный сертификат. Потом копируем его в ветку «Доверенные корневые».
После этого надо поставить к нему разрешение. В ветке «Личные» находим наш импортированный сертификат кликаем правой кнопкой мыши выбираем «Все задачи» потом «Управление закрытыми ключами». Далее добавляем разрешения на группу «Все».

После этого надо экспортировать наш сертификат в формате cer и передать в ЕСИА, там его зарегистрируют.

Вот в принципе и все. Один запрос, редирект + 2 запроса для получения маркера и информации о пользователе.
В дополнение можно проверять подпись маркера.

Сравнение вариантов подключения к ЕСИА

Сравнение вариантов подключения к ЕСИА

УниверсальностьИспользовать протоколы OpenID Connect / OAuth может система любой организации, которой разрешено подключение ЕСИА.

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

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

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

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

С использованием SAML

ОграниченностьСогласно регламенту Минкомсвязи использовать SAML для подключения к ЕСИА разрешено только системам органов власти и учреждениям, оказывающим государственные услуги.

Читайте также:  Когда вступит в силу новое пособие по уходу за инвалидами?

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

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

Фрагментарность получаемых сведенийНе все сведения о пользователе можно получить по SAML. Получаемые сведения ограничены текущей ролью, выбранной пользователем при входе.

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

В 2017 году Минкомсвязь России внесла уточнение в регламент подключения к ЕСИА

С 01.01.2018 г. никакие системы больше не могут быть подключены к ЕСИА по протоколу SAML 2.0. Возможность использования этого протокола сохранится только для ранее подключенных систем. Для подключения к ЕСИА необходимо использовать протокол OAuth 2.0 / OpenID Connect.

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

Получение данных об организациях возможно только при использовании offline-режима получения данных о пользователе. Этот процесс включает следующие шаги:

1. Проведение аутентификации пользователя с помощью offline-режима, по результатам которого у вызывающей системы будет следующая информация:

  • идентификатор (oid) организации, по которой необходимо получить детальную информацию. Для получения oid можно воспользоваться блоком о ролях пользователя (roles), который доступен при наличии разрешения «Просмотр списка организаций пользователя» (usr_org);
  • актуальное значение ключа доступа «scsToken».

2. Вызов специального сервиса ESIA-Bridge, позволяющего получить данные об организации. Для этого необходимо выполнить HTTP-запрос методом POST на адрес точки получения данных об организации (/blitz/bridge/organization). Особенности запроса:

  • в теле (body) запроса необходимо указать параметры “token” (значение актуального ключа доступа), “oid” (идентификатор организации) и “redirect_url” (адрес обработчика успешной аутентификации на стороне вызывающей системы);
  • в заголовке (http header) необходимо указать параметр “Content-Type” со значением “application/x-www-form-urlencoded”.

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

Возможные варианты ответа ESIA-Bridge на такой запрос:

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

  • если ключ доступа позволяет получить данные указанной организации, то в ответе будет получен json со следующими данными:
  • обновленный ключ доступа scsToken, при этом старый ключ перестает действовать;
  • сведения об организации согласно спецификациям ЕСИА.
Читайте также:  Стп ОЭСИ и подключение к ОВОСС

Пример ответа, содержащего в себе данные организации, ее сотрудников и филиалов:

После получения ответа рекомендуется сохранить данные обновленного ключа доступа scsToken. Это позволит в будущем обновить данные об организации, ее сотрудниках и филиалах в offline-режиме, т.е. без участия пользователя.

Часто задаваемые вопросы (FAQ) по ЕСИА

  • Необходимы ли административные привилегии для установки плагина?Административные привилегии при установке плагина не требуются, если плагин устанавливается для использования текущим пользователем. Если же в процессе установки плагина выбрана опция установки плагина для всех пользователей компьютера, то для продолжения установки будет необходимо ввести пароль администратора.
  • Необходимо ли перезапускать браузер после установки плагина?Нет, при установке плагина не требуется перезапускать браузер и операционную систему. Если плагин корректно встроен на ваш веб-сайт, то веб-страница может проверить, установлен ли плагин, а также подсказать пользователю о необходимых действиях, связанных с его установкой.
  • Мы хотели бы использовать ваш плагин на своем сайте. Можем ли мы предоставлять пользователям плагин для загрузки с нашего сайта? Возможно ли для нашей версии изменить название и логотип плагина?Да, если вы купили лицензию, вы можете использовать и распространять плагин с вашего веб-сайта. Вы также можете заказать выпуск специальной версии плагина, брендированной для вашей компании или вашего сайта. Свяжитесь с нами для получения дополнительной информации.
  • Можно ли с вашим плагином использовать электронную подпись на смартфонах и планшетах?К сожалению, наш плагин работает только на компьютерах под управлением операционных систем Windows, macOS и Linux (Linux Ubuntu 14/16, Linux Fedora 23, Linux Mint 17/18, CentOS и др.). Операционные системы мобильных устройств, такие как IOS и Android, не поддерживаются.
  • Ваш плагин не поддерживает мой тип ключей. Можно ли добавить мой токен в число поддерживаемых?Пожалуйста, обратитесь к нами с использованием формы обратной связи. Сообщите нам имя токена и его производителя. Мы сообщим, сможем ли поддержать запрошенный тип ключей.
  • Будет ли плагин работать со старыми версиями браузера Firefox, в том числе действующим ESR-релизом?Да, Blitz Smart Card Plugin совместим как со старыми версиями Firefox, использующими NPAPI, так и новыми версиями Firefox (версия 52 и новее), работающими через Native Messaging API. Поставляющийся с плагином JavaScript проверяет версию Firefox, установленного у пользователя, и использует актуальный способ взаимодействия с плагином.
  • Какие требования предъявляются к веб-сайту, чтобы он мог использовать функции подписания документов?Blitz Smart Card Plugin — это клиентское программное обеспечение. Это означает, что браузер сможет вызывать функции работы с электронной подписью только после установки на машину пользователя специального плагина. Вместе с плагином предоставляется JavaScript, который должен быть встроен на сайт для возможностей использования функций электронной подписи.
Читайте также:  Три новых пособия на детей

Единая система идентификации и аутентификации

  • Нужно ли приобретать отдельные лицензии для тестовых сред?Не нужно. В зависимости от приобретенного пакета лицензий вам доступна возможность использовать Blitz Identity Provider не только на доменах ПРОД‑среды, но и на определенном количестве ТЕСТ‑сред.
  • Ограничивается ли срок действия приобретенных лицензий?Приобретаемые лицензии бессрочны — приобретаются один раз и на все время. Также при желании можно отдельно приобрести услуги годовой технической поддержки программного обеспечения.
  • Можно ли добавить в продукт необходимую нам функцию?Да, мы развиваем Blitz Identity Provider, ориентируясь прежде всего на пожелания наших клиентов и пользователей. Напишите нам, какая функция вам необходима. Возможно что решение вашей задачи уже предусмотрено иным способом, и мы подскажем, как это можно настроить и использовать, либо мы включим нужную вам функцию в план разработки.
  • Сколько лицензий необходимо в случае подключения сайта и мобильного приложения?Если сайт и мобильное приложение архитектурно представляют собой одну систему, то они могут использовать общие параметры подключения и регистрироваться в Blitz Identity Provider как одно приложение (использовать общую лицензию). Если же сайт и мобильное приложение представляют собой архитектурно две разные системы, то они должны регистрироваться в Blitz Identity Provider как два разных приложения, каждое со своими настройками подключения, и использовать в этом случае две лицензии.
Оцените статью