Перейти к содержанию

OAuth

ℹ️ Доступен, начиная с версии 2.263 Скорпион

Сервис используется для интеграции с KeyCloak. KeyCloak используется для аутентификации пользователей в системе и реализует модели управления доступом — все настройки прав пользователей распределяются по группам из сторонней системы.

ℹ️ Перед добавлением сервиса предварительно необходимо создать его на странице Сервисы

Настройки сервиса:

Параметр Описание
Сервис В поле необходимо выбрать предварительно созданный сервис с типом OAuth на странице Сервисы
Alias \a-z\ Алиас
Реализация OAuth Работа с KeyCloak ведется по протоколу OpenIDConnect
ClientId Идентификатор приложения KeyCloak.
Перейдите в Keycloak, в разделе Clients выберете компанию и во вкладке General скопируйте Client ID
ClientSecret Секретный ключ приложения KeyCloak.
Перейдите в Keycloak, в разделе Clients выберете компанию и во вкладке Credentials скопируйте Client secret
Сопоставление пользователей Признак сопоставления пользователей из сторонней системе с пользователями в "Первой Форме". Доступные значения:
-ClaimsMapperByDictionary — По справочнику (категории)
-UserClaimsMapperByAttribute — По произвольному атрибуту
-UserClaimsMapperByExternalAccounts — По У.З. внешнего сервиса (UserExternalAccounts)
-UserClaimsMapperByNickname — По Nickname
-UserClaimsMapperBySid — По SID
Settings Настройки сервиса в формате JSON. Атрибуты:
-AuthorityUrl — URL-адрес центра OAuth
-ResponseType — Тип ответа, отправляемый в AtomID с запросами на вход
-ResponseMode — Режим ответа
-CallbackPath — URL-адрес, на который будет возвращен пользователь после успешной аутентификации
-Claims
-ClaimsMapperConfig — Настройки маппинга Identity, который присылает провайдер Oauth/OpenId на учетную запись из "Первой Формы": IdentityClaim, UserProfileAttribute, DictionarySubcatId, DictionaryIdentityExtParamId, DictionaryUserIdExtParamId

После настройки необходимо добавить провайдер аутентификации и указать в нем созданный сервис.

При добавлении нового OpenId-провайдера его алиас необходимо добавить в ключе OidcAliases служебного файла appsettings.json. Если провайдеров несколько, их значения указываются в ключе через запятую.

Логирование

Вход через OIDC логируется аналогично обычной аутентификации через форму: система фиксирует событие в таблице базы данных LoginsLog, сбрасывает счетчик неудачных попыток входа и автоматически добавляет IP-адрес пользователя в белый список. Выход из системы не логируется.

Описание сервиса в прежнем интерфейсе администрирования