Система интеграции ЕСИА и интеграция с ЕСИА

Система интеграции ЕСИА и интеграция с ЕСИА pos gosuslugi

Привет, Хабр! В одном из постов блога мой коллега Иван писал о нашем блокчейн-сервисе для онлайн-голосований WE.Vote. Он подробно разобрал, как работает WE.Vote с точки зрения технологий. Но чтобы сервисы удаленного голосования можно было использовать для принятия официальных решений юрлиц, не хватает еще одного важного компонента — достоверной верификации участников. В России для этого можно провести интеграцию с ЕСИА (Единой Системой Идентификации и Аутентификации) — проще говоря, с Госуслугами. Интеграция эта заметно отличается от интеграции с другими OAuth2-сервисами, как, например, Google или VK. В этом посте мы постараемся помочь тем, кто захочет интегрировать ЕСИА в свой сервис через стек, подобный нашему, а также дадим несколько полезных ссылок по ЕСИА в принципе.

Система интеграции ЕСИА и интеграция с ЕСИА
Содержание
  1. Зачем нам ЕСИА?
  2. Стек и схема интеграции
  3. Формирование подписи
  4. Создание ссылки для редиректа на страницу ЕСИА
  5. Получение авторизационного токена ЕСИА
  6. Запрос токена идентификации
  7. Получение данных о пользователе
  8. Полезные материалы по теме
  9. Инструкция по авторизации Пользователей через портал Госуслуг (ЕСИА)
  10. Возможные ошибки
  11. Завершение авторизованной сессии
  12. Как интегрировать авторизацию через Госуслуги (ЕСИА) с помощью Docker и Typescript
  13. Зачем нам ЕСИА?
  14. Стек и схема интеграции
  15. Формирование подписи
  16. Создание ссылки для редиректа на страницу ЕСИА
  17. Получение авторизационного токена ЕСИА
  18. Запрос токена идентификации
  19. Получение данных о пользователе
  20. Интеграция ИС с ЕСИА посредством SAML
  21. Что такое ЕСИА
  22. Интеграция с ЕСИА
  23. Кто подключается к ЕСИА
  24. Государственные органы и организации
  25. Кредитные организации, микрофинансовые организации
  26. Страховые компании и медицинские учреждения
  27. Профессиональные участники рынка ценных бумаг, управляющие и брокерские компании, негосударственные пенсионные фонды
  28. Многофункциональные и удостоверяющие центры
  29. Операторы связи
  30. Наши решения и услуги по интеграции с ЕСИА
  31. Продукт ESIA-Bridge
  32. Подключение мобильных приложений к ЕСИА
  33. Ведение профиля пользователя ЕСИА из сторонних приложений
  34. Готовое решение для идентификации в Wi‑Fi сетях
  35. Интеграция с ЕСИА по SAML 2.0 / OpenID Connect с использованием бесплатных библиотек
  36. Решение по обеспечению самостоятельной регистрации из Интернет-банкинга клиентов банка в ЕСИА
  37. Подключение IDM-систем к ЕСИА
  38. Почему выгодно работать с нами
  39. Уникальный опыт
  40. Экономия средств и времени
  41. Качественная поддержка
  42. Заинтересовались нашими решениями или хотите получить подробную информацию?
  43. Часто задаваемые вопросы (FAQ) по ЕСИА
  44. Часто задаваемые вопросы
  45. Blitz Smart Card Plugin
  46. Единая система идентификации и аутентификации
  47. Лицензирование Blitz Identity Provider

Зачем нам ЕСИА?

Согласно Федеральному закону № 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-сервер с методом, позволяющим создавать подписи

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

private async signParams(params: Record<string, string>) {
 const time = moment().format('YYYY.MM.DD HH:mm:ss ZZ')
 const state = uuid()
 const clientId = this.clientId
 const scope = this.scope

 const { data: { result: clientSecret } } = await axios.post<{ result: string }>(
   `${this.cryptoProServiceAddress}/cryptopro/sign`,
   { text: [scope, time, clientId, state].join('') },
 )

 return {
   ...params,
   timestamp: time,
   client_id: clientId,
   scope,
   state,
   client_secret: clientSecret.replace(/\n/g, ''),
 }
}

С созданием подписей разобрались, теперь последовательно разберем, как реализовать схему выше.

Создание ссылки для редиректа на страницу ЕСИА

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

async getAuthLink(redirectLink: string) {
 const params = await this.signParams({
   redirect_uri: redirectLink,
   response_type: 'code',
   access_type: 'offline',
 })
 const authQuery = new URLSearchParams(params)
 const authURL = `${this.esiaHost}/aas/oauth2/ac`
 return `${authURL}?${authQuery}`
}

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

Получение авторизационного токена ЕСИА

Запрос токена идентификации

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

async getTokens(code: string) {
 try {
   const params = await this.signParams({
     grant_type: 'authorization_code',
     token_type: 'Bearer',
     redirect_uri: 'no',
     code,
   })
   const authURL = `${this.host}/aas/oauth2/te`
   const authQuery = new URLSearchParams(params)
   const { data: tokens } = await axios.post(`${authURL}?${authQuery}`)
   return {
     idToken: tokens.id_token,
     accessToken: tokens.access_token,
     refreshToken: tokens.refresh_token,
   }
 } catch (e) {
   const status = e.response ? e.response.status : 500
   const message = e.response ? e.response.data.error_description : e.message
   throw new HttpException('Failed to get auth tokens: ' + message, status)
 }
}

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

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

getUserIdFromToken(idToken: string) {
 const decodedIdToken = verify(idToken, this.esiaPublicKey, {
   algorithms: ['RS256'],
   audience: 'WE_VOTE',
 }) as EsiaParsedToken
 return decodedIdToken['urn:esia:sbj']['urn:esia:sbj:oid']
}

async getUserInfo(tokens: EsiaTokens) {

 const { idToken, accessToken } = tokens
 const oId = this.getUserIdFromToken(idToken)

 const [{ data: mainInfo }, { data: contactsInfo }] = await Promise.all([
   axios.get(`${this.esiaHost}/rs/prns/${oId}`, {
     headers: {
       Authorization: `Bearer ${accessToken}`,
     },
   }),
   axios.get(`${this.esiaHost}/rs/prns/${oId}/ctts?embed=(elements)`, {
     headers: {
       Authorization: `Bearer ${accessToken}`,
     },
   }),
 ])

 const email = contactsInfo.elements.find(({ type }: { type: string }) => type === 'EML')

 return {
   id: oId,
   firstName: mainInfo.firstName,
   lastName: mainInfo.lastName,
   surName: mainInfo.middleName,
   trusted: mainInfo.trusted,
   email: email ? {
     value: email.value.toLowerCase(),
     verified: email.vrfStu === 'VERIFIED',
   } : null,
 }
}

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

Читайте также:  Будут ли пособия к новому году на детей за январь
Полный код интеграционного модуля на бэкенде
import { HttpException } from '@nestjs/common'
import * as moment from 'moment'
import { v4 as uuid } from 'uuid'
import { URLSearchParams } from 'url'
import axios from 'axios'
import { verify } from 'jsonwebtoken'

type EsiaTokens = {
 idToken: string,
 accessToken: string,
}

type EsiaParsedToken = {
 'urn:esia:sbj': {
   'urn:esia:sbj:oid': string,
 },
}

export class EsiaApiService {
 private readonly clientId = 'WE_VOTE'
 private readonly scope = ['openid', 'email', 'fullname'].join(' ')

 constructor(
   private readonly esiaHost: string, // 'https://esia-portal1.test.gosuslugi.ru' или 'https://esia.gosuslugi.ru'
   private readonly esiaPublicKey: string, // можно взять из http://esia.gosuslugi.ru/public/esia.zip
   private readonly cryptoProServiceAddress: string, // адрес сервиса по созданию подписей e.g 'http://127.0.0.1:3037'
 ) {
 }

 async getAuthLink(redirectLink: string) {
   const params = await this.signParams({
     redirect_uri: redirectLink,
     response_type: 'code',
     access_type: 'offline',
   })
   const authQuery = new URLSearchParams(params)
   const authURL = `${this.esiaHost}/aas/oauth2/ac`
   return `${authURL}?${authQuery}`
 }

 private async signParams(params: Record<string, string>) {
   const time = moment().format('YYYY.MM.DD HH:mm:ss ZZ')
   const state = uuid()
   const clientId = this.clientId
   const scope = this.scope

   const { data: { result: clientSecret } } = await axios.post<{ result: string }>(
     `${this.cryptoProServiceAddress}/cryptopro/sign`,
     { text: [scope, time, clientId, state].join('') },
   )

   return {
     ...params,
     timestamp: time,
     client_id: clientId,
     scope,
     state,
     client_secret: clientSecret.replace(/\n/g, ''),
   }
 }

 async getTokens(code: string) {
   try {
     const params = await this.signParams({
       grant_type: 'authorization_code',
       token_type: 'Bearer',
       redirect_uri: 'no',
       code,
     })
     const authURL = `${this.esiaHost}/aas/oauth2/te`
     const authQuery = new URLSearchParams(params)
     const { data: tokens } = await axios.post(`${authURL}?${authQuery}`)
     return {
       idToken: tokens.id_token,
       accessToken: tokens.access_token,
       refreshToken: tokens.refresh_token,
     }
   } catch (e) {
     const status = e.response ? e.response.status : 500
     const message = e.response ? e.response.data.error_description : e.message
     throw new HttpException('Failed to get auth tokens: ' + message, status)
   }
 }

 getUserIdFromToken(idToken: string) {
   const decodedIdToken = verify(idToken, this.esiaPublicKey, {
     algorithms: ['RS256'],
     audience: this.clientId,
   }) as EsiaParsedToken
   return decodedIdToken['urn:esia:sbj']['urn:esia:sbj:oid']
 }

 async getUserInfo(tokens: EsiaTokens) {

   const { idToken, accessToken } = tokens
   const oId = this.getUserIdFromToken(idToken)

   const [{ data: mainInfo }, { data: contactsInfo }] = await Promise.all([
     axios.get(`${this.esiaHost}/rs/prns/${oId}`, {
       headers: {
         Authorization: `Bearer ${accessToken}`,
       },
     }),
     axios.get(`${this.esiaHost}/rs/prns/${oId}/ctts?embed=(elements)`, {
       headers: {
         Authorization: `Bearer ${accessToken}`,
       },
     }),
   ])

   const email = contactsInfo.elements.find(({ type }: { type: string }) => type === 'EML')

   return {
     id: oId,
     firstName: mainInfo.firstName,
     lastName: mainInfo.lastName,
     surName: mainInfo.middleName,
     trusted: mainInfo.trusted,
     email: email ? {
       value: email.value.toLowerCase(),
       verified: email.vrfStu === 'VERIFIED',
     } : null,
   }
 }

}

Надеюсь, статья оказалась для вас полезной. Желаю, чтобы у вас все получилось без особых проблем! 

Полезные материалы по теме

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

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

  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. Пользователь не предоставил права доступа к данным

Завершение авторизованной сессии

Важно, чтобы использовался тот же браузер без режима инкогнито: сессия запоминается с помощью cookie длительностью действия на 10 часов. На портале находится кнопка для завершения сессии:

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

Во время редиректа в браузере может запуститься новая вкладка с редиректом на портал. После возвращения на портал, Пользователь увидит страницу с сообщением и кнопкой начала новой сессии:

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

Для выхода в Интернет с использованием другой учётной записи Госуслуг, может потребоваться выполнить выход. Для этого перейдите на портал по адресу https://esia.gosuslugi.ru, если пользовательская сессия осталась активной, нажмите на ссылку для выхода из учетной записи.

Читайте также:  Дворики, садики, патио — 65 идей из Швеции

Техническая поддержка проекта ЕСПД «Цифровая экономика».
Государственные контракты № 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, который мы получили в предыдущем шаге, мы уже наконец можем запросить персональные данные пользователя.

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

Полный код интеграционного модуля на бэкенде

Надеюсь, статья оказалась для вас полезной. Желаю, чтобы у вас все получилось без особых проблем!

Интеграция ИС с ЕСИА посредством SAML

Система интеграции ЕСИА и интеграция с ЕСИА

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

Что такое ЕСИА

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

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

Сценарий авторизации выглядит примерно так:

  • Пользователь на сайте, на котором внедряется ЕСИА, в личном кабинете нажимает на кнопку «Войти через ГосУслуги»
  • Система переадресует на сайт ЕСИА
  • Пользователь вводит свои логин и пароль на сайте ЕСИА
  • При успешной авторизации ЕСИА возвращает пользователя обратно на сайт и по защищенному протоколу передает его личные данные

Интеграция с ЕСИА

Кто подключается к ЕСИА

Государственные органы и организации

Государственные органы и организации

В целях предоставления государственных услуг, межведомственного взаимодействия, организации доступа к информации в сети Интернет (Постановления Правительства №977, №584, №451).

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

Банки и кредитные организации

Страховые компании и медицинские учреждения

Страховые компании

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

Финансовые и брокерские компании

Многофункциональные и удостоверяющие центры

Многофункциональные и удостоверяющие центры

Для регистрации гражданам учетных записей в ЕСИА, а также для регистрации выпущенных сертификатов квалифицированной электронной подписи (63-ФЗ «Об электронной подписи»).

Операторы связи

Операторы связи

Для идентификации абонентов при подключении к публичным Wi-Fi-сетям (149-ФЗ «Об информации, информационных технологиях и о защите информации»).

Наши решения и услуги по интеграции с ЕСИА

Продукт ESIA-Bridge

Продукт ESIA-Bridge

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

Читайте также:  Портал рои голосование

Подключение мобильных приложений к ЕСИА

Подключение мобильных приложений к ЕСИА

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

Ведение профиля пользователя ЕСИА из сторонних приложений

Ведение профиля пользователя ЕСИА из сторонних приложений

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

Готовое решение для идентификации в Wi‑Fi сетях

Готовое решение для идентификации в Wi-Fi сетях

Готовое решение по идентификации абонентов при доступе к публичным Wi-Fi точкам доступа, построенным на основе распространенных роутеров MikroTik.

Интеграция с ЕСИА по SAML 2.0 / OpenID Connect с использованием бесплатных библиотек

Интеграция с ЕСИА по SAML / OpenID Connect

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

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

Решение по обеспечению самостоятельной регистрации из Интернет-банкинга клиентов банка в ЕСИА

Самостоятельная регистрация клиентов банка в ЕСИА

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

Подключение IDM-систем к ЕСИА

Подключение IDM-систем к ЕСИА

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

Почему выгодно работать с нами

Уникальный опыт

Уникальный опыт

Наши разработчики и инженеры заняты в разработке ПО ЕСИА с 2011 года. Мы знаем все нюансы и особенности работы ЕСИА. Также за это время наши инженеры обеспечили поддержку интеграции с ЕСИА более 100 различных систем.

Экономия средств и времени

Экономия средств и времени

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

Качественная поддержка

Качественная поддержка

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

Участие РЕАК СОФТ в проекте разработки ПО ЕСИА

Заинтересовались нашими решениями или хотите получить подробную информацию?

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

Часто задаваемые вопросы

Blitz Smart Card Plugin

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

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

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

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

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

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

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

    К сожалению, наш плагин работает только на компьютерах под управлением операционных систем 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 и провести пилотный проект?

    Да, конечно! Редакция Standard Edition доступна для загрузки с сайта. Если вы хотите провести пилот с использованием редакции Enterprise Edition, то обратитесь к нам, и мы предоставим вам бесплатную пробную лицензию, ссылки на загрузку дистрибутива и необходимые консультации.

  • Нужно ли приобретать отдельные лицензии для тестовых сред?

    Не нужно. В зависимости от приобретенного пакета лицензий вам доступна возможность использовать Blitz Identity Provider не только на доменах ПРОД‑среды, но и на определенном количестве ТЕСТ‑сред.

  • Ограничивается ли срок действия приобретенных лицензий?

    Приобретаемые лицензии бессрочны — приобретаются один раз и на все время. Также при желании можно отдельно приобрести услуги годовой технической поддержки программного обеспечения.

  • Можно ли добавить в продукт необходимую нам функцию?

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

  • Какая метрика лицензирования применяется для Blitz Identity Provider?

    Blitz Identity Provider можно использовать в домене компании, на который приобретена лицензия. В зависимости от приобретенного пакета лицензий действует ограничение на допустимое количество подключенных приложений.

    Разрешенное количество серверов под развертывание Blitz Identity Provider зависит от используемой редакции. Для развертывания Enterprise Edition можно использовать любое число серверов. Для развертывания Standard Edition должен использоваться строго один сервер.

    Количество пользователей, использующих Blitz Identity Provider, лицензионно не ограничивается. Технически редакция Enterprise Edition способна работать с более чем 100 млн пользователей. Для редакция Standard Edition не гарантируется корректная работа, когда в системе более чем 10 тыс. пользователей.

  • Сколько лицензий необходимо в случае подключения сайта и мобильного приложения?

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

Оцените статью