НАЧАЛО >> Авторизация пользователей >> Настройка аутентификации через ЕСИА📄 Скачать в DOCX
Модуль Authorisation поддерживает вход пользователя через ЕСИА. Сценарий используется для внешней авторизации читателя: система перенаправляет пользователя на портал ЕСИА, получает ответ с кодом авторизации, находит или создает запись читателя и затем выполняет обычный вход в ИРБИС 128 под учетными данными, сохраненными в записи.
Перед настройкой ИРБИС 128 информационная система организации должна быть зарегистрирована в ЕСИА. В заявке на подключение должны быть согласованы:
scope, из которого система будет получать данные пользователя.Callback-адрес в ЕСИА должен вести на обработчик ИРБИС 128:
?id=WIrbis&action=Authorisation/AuthESIA
Если в ЕСИА требуется полный адрес, укажите внешний адрес сайта организации и этот относительный путь.
В настройках модуля Authorisation используйте раздел Использование для аутентификации ESIA.
Основные параметры подключения:
| Параметр | Назначение |
|---|---|
AutorusCheck |
включает сценарий авторизации через ЕСИА в настройках модуля; |
MnemESIA |
мнемоника информационной системы, выданная для подключения к ЕСИА; |
URLforESIA |
адрес портала ЕСИА; |
URLforORG |
внешний URL сайта организации, с которого формируется callback-адрес; |
CertPath |
путь к сертификату; |
PrivateKeyPath |
путь к закрытому ключу; |
CertPass |
пароль закрытого ключа или сертификата; |
listScope |
список запрашиваемых scope, разделенный запятыми. |
Для стандартного поиска и создания читателя нужны данные пользователя, контакты и, если используются адресные поля, адресные данные. Обычно в listScope указывают значения вида fullname,birthdate,gender,email,contacts.
Вход через ЕСИА начинается отдельным action:
?id=WIrbis&action=Authorisation/AuthESIAInput
Этот action формирует OpenID-запрос с параметрами MnemESIA, URLforORG, URLforESIA, CertPath, PrivateKeyPath, CertPass и listScope, подписывает его и перенаправляет пользователя на портал ЕСИА.
Стандартная форма входа ИРБИС 128 не добавляет кнопку ЕСИА автоматически. Если пользователю нужна отдельная кнопка или ссылка "Войти через Госуслуги", добавьте в используемый шаблон или страницу ссылку на action Authorisation/AuthESIAInput.
После возврата из ЕСИА обработчик получает данные пользователя и работает с базой читателей:
NameBDRDR как имя базы читателей. Если параметр пустой, берется основная база читателей из системных настроек.termSearh и префикса PrefSearch.MatchSettings: фамилия, имя, отчество, дата рождения и один из контактов, электронная почта или мобильный телефон.В MatchSettings задается, в какие поля и подполя записи читателя попадают данные из PersonInfo, AddressInfo и СontactInfo. Для контактов используются типы EML для электронной почты и MBT для мобильного телефона.
Если подходящая запись не найдена, модуль создает новую запись читателя в RDR и заполняет ее данными ЕСИА по настройкам MatchSettings.
При создании записи также используются параметры:
genLog, modulLog, funcLog - автоматическая генерация логина;genPass, modulPass, funcPass - автоматическая генерация пароля;autorType - тип учетных данных, под которыми пользователь войдет после ЕСИА: Web для Web-ИРБИС или i128 для ИРБИС 128;regEmailApply - отправка учетных данных пользователю при создании новой записи, если подтверждение регистрации по e-mail включено в общих настройках регистрации.Для новой и найденной записи модуль добавляет служебный SID, сохраняет запись и фиксирует событие входа через ЕСИА в поле протокола.
После сопоставления записи читателя модуль выполняет обычный вход в систему:
autorType=Web берет логин и пароль из полей Web-ИРБИС, заданных параметрами WebIrbisLogin, WebIrbisLoginPP, WebIrbisPasswd, WebIrbisPasswdPP;autorType=i128 использует учетные данные ИРБИС 128 из служебного поля 113 типа AUTH.Если учетные данные не заполнены и не генерируются автоматически, вход после успешного ответа ЕСИА не сможет завершиться. Перед публикацией ссылки на ЕСИА проверьте тестовый вход пользователя и убедитесь, что запись читателя находится или создается с ожидаемыми полями.