Page tree
Skip to end of metadata
Go to start of metadata

Начиная с версии 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 купите у любого аккредитованного государством удостоверяющего центра сертификат на имя ответственного сотрудника вашей организации. Его можно будет использовать для целей авторизации через Госуслуги. Подойдет и сертификат, которым вы подписываете отправку документов в гос.органы.

Важно! Чтобы работал доступ через Госуслуги, ваш сервер 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 и выбираются автоматически, в зависимости от заданного использования системы. В первом случае для тестов можно применять тестовую учетную запись (получите набор реквизитов при подключении к тестовой ЕСИА), а во втором случае - вашу собственную учетную запись на портале "Госуслуги".

Для проверки работы системы авторизации через ЕСИА временно включите в меню "Конфигурация - Общие настройки" "Тестовые интерфейсы СМС и шаблонов страниц", и откройте обычным браузером ссылку 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