Аутентификация через web SSO

В разделе описан механизм аутентификации через сторонних провайдеров по протоколам OpenID Connect (включает OAuth2).

Термины и определения

  • IdP (identification provider, identity provider) — провайдер идентификации и аутентификации — сторонняя система, к которой SMP обращается за подтверждением аутентификации пользователей (например, Microsoft ADFS, Аванпост, Keycloak и прочее).
  • idP identifier — коды параметров пользователя на сервере авторизации (idP), которые будут использоваться для идентификации пользователя.
  • SP (service provider) — система, в которую происходит вход, в нашем случае это SMP.
  • SMP identifier — коды атрибутов сотрудника в SMP, которые будет использоваться для идентификации пользователя.
  • SSO (single sign-on) — принцип аутентификации, когда различные системы обеспечивают аутентификацию внутрь себя через провайдеров аутентификации. Пользователю достаточно аутентифицироваться в провайдере аутентификации, а вход во все остальные системы будет реализован через прозрачную аутентификацию. Сами SP не хранят аутентифицирующие данные (например пароль).

Включение и настройка аутентификации по протоколу SSO

Чтобы включить механизм аутентификации через SSO в конфигурационном файле dbaccess.properties в параметре ru.naumen.core.authentication.authenticators (Аутентификация и авторизация) добавьте аутентификатор EXTERNAL.

Для настройки аутентификации через SSO используется конфигурационный файл external-settings.xml с параметрами подключения, который размещается на сервере SMP. Параметры конфигурационного файла зависят от протокола.

Работа по протоколу в рамках определенного idP

Шифрование определенных атрибутов в конфигурационных файлах

При установке в dbaccess.properties свойства encryption.enabled в значение true (Безопасность) или выполнения методов Groovy API из группы api.encryption (api.encryption Шифрование и дешифрование) в XML-файлах конфигурации должен применяться механизм шифрования паролей и прочих секретных данных подключения.

SSO в мобильном приложении

Использование аутентификации через SSO в мобильном приложении определяется параметром "Тип аутентификации":