You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Current »

Начиная с версии 1.3 WNAM позволяет проводить идентификацию пользователей через учетную запись на портале Госуслуги (с использованием системы ЕСИА). Для идентификации применяется протокол OAuth 2.0.

Использование данного метода требует:

  • Получения разрешения Россвязьнадзора на работу с персональными данными (статус оператора персональных данных)
  • Получения учетной записи вашей организации на портале Госуслуги, регистрация организации в ЕСИА
  • Получения тестового и промышленного доступа к ЕСИА, используя регламент Минкомсвязи
  • Установки соответствующих сертификатов на сервер WNAM

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


За разъяснениями по первым трем пунктам обратитесь по адресу support@netams.com

Для работы с RSA-сертификатами в WNAM версии 1.5 и младше выполните следующие шаги:

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

keytool -genkeypair -v -alias wnam-esia -keyalg RSA -keysize 2048 -validity 10000 -keypass wnam-pass -keystore wnam-esia.jks -storepass wnam-pass -dname "CN=WNAM-ESIA, OU=WNAM, O=Netams LLC, L=Moscow, S=Moscow, C=RU"
keytool -exportcert -alias wnam-esia -keystore wnam-esia.jks -storepass wnam-pass -file wnam-esia.crt

Полученный файл, wnam-esia.jks, положите в каталог /etc/. Это сертификат с приватным ключом в формате, доступном Java-приложению. Сертификат без ключа, wnam-esia.crt, понадобится позже.

Файл конфигурации /etc/wnam.properties может содержать такие параметры:

esia_keystore=     # по умолчанию путь - /etc/wnam-esia.jks
esia_keypassword=wnam-pass    # пароль по умолчанию wnam-pass

Внимание! ЕСИА прекратила поддержку работы с сертификатами RSA с января 2020 года.


Для работы с ГОСТ-сертификатами в WNAM 1.6 купите у любого аккредитованного государством удостоверяющего центра квалифицированный (т.е. подписанный по цепочке доверия государственным УЦ) сертификат на имя ответственного сотрудника вашей организации. Его можно будет использовать для целей авторизации через Госуслуги. Подойдет и сертификат, которым вы подписываете отправку документов в гос.органы. Не подойдет персональный самоподписанный сертификат, даже если его выдал УЦ по ГОСТ.

При покупке сертификата важно, чтобы его приватный ключ был экспортируемым (вариант: неизвлекаемый ключ на токене - не подходит). Вам понадобится экспортировать ключ (формат VipNet CSP или КриптоПро CSP), а затем конвертировать его в текстовый OpenSSL-формат (обратитесь по адресу support@netams.com за инструкциями).

Сертификат и ключ поместите на сервере в файлы /home/wnam/esia_cert.pem и /home/wnam/esia_cert.key соответственно.

В интерфейсе WNAM в "Конфигурация-Дополнительные настройки" укажите полные пути до этих файлов в параметрах esia_certificate и esia_key:

Перезапустите сервис WNAM, и поищите в логе wnam.log строку c "ESIA_GOST", например:

12:58:15.316 INFO [EsiaService.java:121] - ESIA_GOST: ECGOST3410-2012 CN="...", EMAILADDRESS=..., OID.1.2.643.100.4=..., OID.1.2.643.100.1=..., O=..., C=RU
12:58:15.361 INFO [EsiaService.java:140] - ESIA_GOST: ECGOST3410-2012 Private Key

Важно! Чтобы работал доступ через Госуслуги, ваш сервер WNAM обязательно должен иметь выставленное точное время. Настройте сервис NTP.

Необходимо на технологическом портале ЕСИА создать вашу информационную систему, загрузить сертификат. Зайдите на портал https://esia.gosuslugi.ru/console/tech с учетной записью сотрудника, привязанной к вашей организации, желательно - её руководителя:

Создайте информационную систему:

Мнемоника системы - это её краткое имя, идентификатор.

Укажите необходимые параметры в форме:

Сохраните форму и загрузите созданный сертификат (.crt файл, открытая часть сертификата):

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

Настройка WNAM заключается в указании параметров подключения к ЕСИА в окне "Социальные сети - ЕСИА":

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

Адрес возврата - это ссылка внутри WNAM, на которую пользователь будет перенаправлен после завершения идентификации в ЕСИА. Внимание! Поскольку WNAM использует cookie для работы с абонентами, крайне важно, чтобы ссылка перенаправления здесь содержала то же имя, что и оригинальная ссылка, на которую производится перенаправление пользователя для авторизации в WNAM. То есть если сервер доступа Mikrotik (например) производит перенаправление абонента на http://wnam.company.ru/cp/mikrotik, указанная здесь ссылка на адрес возврата обязана иметь вид http://wnam.company.ru/cp/social/esia.

Область доступа определяет перечень атрибутов, возвращаемых системой авторизации при успешном выполнении пользователем входа в ЕСИА. В настоящий момент для тестовой ЕСИА это "fullname birthdate gender email mobile id_doc snils inn". Для продуктивной ЕСИА это только "fullname openid". Область определяется в соответствии с текущей версией методических рекомендаций.

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

Внимание: WNAM может работать с тестовой системой ЕСИА, доступной по адресу https://esia-portal1.test.gosuslugi.ru/, и с продуктивной системой ЕСИА, доступной по адресу https://esia.gosuslugi.ru/. Ссылки доступа к обоим системам зашиты в код WNAM и выбираются автоматически, в зависимости от заданного использования системы. В первом случае для тестов можно применять тестовую учетную запись (получите набор реквизитов при подключении к тестовой ЕСИА), а во втором случае - вашу собственную учетную запись на портале "Госуслуги".

Вам понадобится добавить следующую конфигурацию в параметр location { ...} в настройки nginx:

proxy_buffer_size 16k;
proxy_buffers 4 16k;
proxy_busy_buffers_size 16k;
client_body_buffer_size 16K;
client_max_body_size 8m;

Для проверки работы системы авторизации через ЕСИА временно включите в меню "Конфигурация - Общие настройки" "Тестовые интерфейсы СМС и шаблонов страниц", и откройте обычным браузером ссылку http://адрес_сервера_wnam/wnam/auth_test

Выберите ссылку "Auth in ESIA". Пройдите процедуру авторизации. В случае успеха вам будет выдано сообщение, например:

EsiaUser{firstName='Андрей', lastName='Контент-менеджер', middleName='Алексеевич', birthDate=Mon Feb 07 03:00:00 MSK 1994, gender='M', trusted=true, verifying=false, snils='000-000-600 02', inn='000123123002', status='REGISTERED'}

В лог-файле wnam.log появятся записи: 

23:40:13.855 DEBUG [com.netams.wnam.web.AuthController:259] - Request esia code ... 
23:40:13.855 DEBUG [com.netams.wnam.web.AuthController:260] - State 7324de34-618e-4ed9-b5cc-f5ea35838ae9
23:40:14.021 DEBUG [c.n.w.s.socnet.esia.EsiaService:136] - Esia token EsiaToken{idToken='null', state='c4a355eb-70e3-4dcd-95a5-b9fcd581bba1', accessToken='...', payload=null, error='null', errorDescription='null'}
23:40:14.022 DEBUG [c.n.w.s.socnet.esia.EsiaService:147] - {"alg":"RS256","sbt":"access","typ":"JWT","ver":1}
23:40:14.022 DEBUG [c.n.w.s.socnet.esia.EsiaService:148] - {"exp":1483911613,"scope":"http:\/\/esia.gosuslugi.ru\/usr_inf?oid=1000299654","iss":"http:\/\/esia.gosuslugi.ru\/","nbf":1483908013,"urn:esia:sid":"...","urn:esia:sbj_id":1000299654,"client_id":"WNAMTEST1","iat":1483908013}
23:40:14.130 DEBUG [c.n.w.s.socnet.esia.EsiaService:211] - Response: EsiaUser{firstName='Андрей', lastName='Контент-менеджер', middleName='Алексеевич', birthDate=Mon Feb 07 03:00:00 MSK 1994, gender='M', trusted=true, verifying=false, snils='000-000-600 02', inn='000123123002', status='REGISTERED'}

Если авторизация проходит успешно, необходимо включить возможность авторизации в вашу назначенную в меню "Авторизация" страницу входа в интернет, например исправив штатный шаблон страницы sms.html, добавив в ней кнопку:

<A href="#" type="button" onclick='esia();'><button class="btn btn-primary">Вход через Госуслуги</button></a>

и скрипт:

<script type="text/javascript">
   function esia() {
      document.location.href="$(soc_esia)";
return false;
}
</script>

Попробуйте выполнить идентификацию с мобильного устройства, подключенного к Wi-Fi сети через ваш сервер доступа.

    

Если она пройдет успешно, то в списке пользователей в административном интерфейсе WNAM появится запись:

 

 


 

 

 

 

  • No labels