Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

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

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

Для создания сертификата, используемого для подписи запросов к ЕСИА, необходимо в командной строке выполнить (заменив параметры в 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

Необходимо на технологическом портале ЕСИА создать вашу информационную систему, загрузить сертификат. Зайдите на портал 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.

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

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

Внимание: 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 появится запись: