Настройка аутентификации через ЕСИА


НАЧАЛО >> Авторизация пользователей >> Настройка аутентификации через ЕСИА📄 Скачать в DOCX


Модуль Authorisation поддерживает вход пользователя через ЕСИА. Сценарий используется для внешней авторизации читателя: система перенаправляет пользователя на портал ЕСИА, получает ответ с кодом авторизации, находит или создает запись читателя и затем выполняет обычный вход в ИРБИС 128 под учетными данными, сохраненными в записи.

1. Предварительная настройка ЕСИА

Перед настройкой ИРБИС 128 информационная система организации должна быть зарегистрирована в ЕСИА. В заявке на подключение должны быть согласованы:

Callback-адрес в ЕСИА должен вести на обработчик ИРБИС 128:

?id=WIrbis&action=Authorisation/AuthESIA

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

2. Параметры модуля

В настройках модуля Authorisation используйте раздел Использование для аутентификации ESIA.

Основные параметры подключения:

Параметр Назначение
AutorusCheck включает сценарий авторизации через ЕСИА в настройках модуля;
MnemESIA мнемоника информационной системы, выданная для подключения к ЕСИА;
URLforESIA адрес портала ЕСИА;
URLforORG внешний URL сайта организации, с которого формируется callback-адрес;
CertPath путь к сертификату;
PrivateKeyPath путь к закрытому ключу;
CertPass пароль закрытого ключа или сертификата;
listScope список запрашиваемых scope, разделенный запятыми.

Для стандартного поиска и создания читателя нужны данные пользователя, контакты и, если используются адресные поля, адресные данные. Обычно в listScope указывают значения вида fullname,birthdate,gender,email,contacts.

3. Запуск входа

Вход через ЕСИА начинается отдельным action:

?id=WIrbis&action=Authorisation/AuthESIAInput

Этот action формирует OpenID-запрос с параметрами MnemESIA, URLforORG, URLforESIA, CertPath, PrivateKeyPath, CertPass и listScope, подписывает его и перенаправляет пользователя на портал ЕСИА.

Стандартная форма входа ИРБИС 128 не добавляет кнопку ЕСИА автоматически. Если пользователю нужна отдельная кнопка или ссылка "Войти через Госуслуги", добавьте в используемый шаблон или страницу ссылку на action Authorisation/AuthESIAInput.

4. Поиск записи читателя

После возврата из ЕСИА обработчик получает данные пользователя и работает с базой читателей:

  1. Использует NameBDRDR как имя базы читателей. Если параметр пустой, берется основная база читателей из системных настроек.
  2. Собирает поисковый термин из частей termSearh и префикса PrefSearch.
  3. Ищет запись в базе читателей.
  4. Проверяет найденную запись по соответствиям из MatchSettings: фамилия, имя, отчество, дата рождения и один из контактов, электронная почта или мобильный телефон.

В MatchSettings задается, в какие поля и подполя записи читателя попадают данные из PersonInfo, AddressInfo и СontactInfo. Для контактов используются типы EML для электронной почты и MBT для мобильного телефона.

5. Создание записи читателя

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

При создании записи также используются параметры:

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

6. Вход после подтверждения ЕСИА

После сопоставления записи читателя модуль выполняет обычный вход в систему:

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