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-адрес пользователя в белый список. Выход из системы не логируется.