====== Настройка авторизации через Open ID Connect ====== ===== Настройка конфигурационного файла ===== ''Начиная с версии системы 3.29'' в настройках конфигурационного файла системы ''client.config'' появился раздел, в котором в виде массива можно указать перечень внешних сервисов аутентификации по протоколу **OpenIdConnect**. Перечень провайдеров авторизации через **OpenIdConnect** задается в файле ''client.config'' в разделе '''': /* Массив */ ... /* Описание второго провайдера */ ... ^ Параметр ^ Описание ^ |caption|Обязательный параметр \\ Название провайдера авторизации для отображения кнопки с этим именем| |metadataURL|Обязательный параметр \\ URL-адрес удаленного сервера с метаданными| |authenticationType|Обязательный параметр \\ Идентификатор провайдера авторизации, под этим именем данный провайдер OpenIdConnect будет отображаться в профиле пользователя, а также использоваться в API методах. Можно использовать любой удобный| |clientId|Обязательный параметр \\ Идентификатор клиента (приложения), выбирается согласно правилам именования сервисов для аутентификации в OpenIdConnect| |enabled|Обязательный параметр \\ Включение/отключение провайдера, возможные значения: true и false| |scope|Указываются запрашиваемые скоупы. Если параметр не задан, то используется только скоуп ''openid'' \\ Может быть несколько| |clientSecret|Обязательный параметр \\ Указывается секрет приложения| |responseType|Необязательный параметр. \\ Тип ответа, по умолчанию ''id_token''. Возможные значения: \\ ''code'', \\ ''code id_token'', \\ ''code id_token token'', \\ ''code token'', \\ ''id_token'', \\ ''id_token token'', \\ ''token''| |claimType|Тип утверждения, используемый для получения идентификатора пользователя на сервере авторизации. Будет использоваться для связки пользователя системы с пользователем OpenIdConnect| |disableSignatureValidation|Необязательный параметр \\ Отключает валидацию токена. Если параметр не задан, то значение false и валидация включена| |jwksFilePath|Опциональный параметр \\ Файл, который содержит ключи валидации в формате JSON. Формат аналогичен странице ''jwks_uri''. Если параметр не задан, то ключи берутся только с адреса ''jwks_uri'' \\ Можно использовать, если по какой-то причине провайдер OpenIdConnect не предоставляет ключи валидации \\ Пример использования: ''jwksFilePath'' = ″C:\inetpub\wwwroot\a2key\jwksFile.txt″| В ''client.config'' также необходимо добавить индикацию, что необходимо использовать интеграцию с **OpenIdConnect**. Для этого опционально в разделе '''' предусмотреть размещение секции '' ″
″''. При отсутствии данной секции, использование **OpenIdConnect** невозможно. ===== Вход в систему ===== Настройка авторизации через **Open ID Connect** производится Администратором системы, в том числе привязка профилей пользователей ADVANTA к провайдерам авторизации. После корректных настроек конфигурационного файла ''client.config'' и перезапуска системы, пользователю будет доступен вход в систему через новый провайдер аутентификации. На странице входа для каждого нового настроенного провайдера появится отдельная кнопка с названием из настроек конфигурационного файла. {{ :product:auth:admin:sso_login_full1.png?direct&300 |}} \\ Подробная информация о входе в систему через провайдер аутентификации на странице [[product:auth:admin:sso_open_id|Авторизация по протоколу Open ID Connect]]. При отключении провайдера (параметр ''enabled''), кнопки авторизации не будет, но привязка пользователей в системе сохранится. Чтобы удалить связи с сервисами авторизации, необходимо: * в [[product:settings:system:open_id#настройка_связки_учетных_записей|портлете с сервисами авторизации]] в настройках пользователя удалить привязку к сервису; * использовать метод API [[product:api:list:deletelinkuserwith_oid|DeleteLinksWithOpenIdConnect]]. Подробнее о методах API на странице [[product:api:list|Описание методов API]]. ===== Настройка связки учетных записей ===== После настройки в файле ''client.config'' сервисов авторизации, они станут отображаться в виде портлета в настройках пользователя, после портлета «Мои настройки». В данном портлете есть возможность указывать/удалять идентификатор сервиса авторизации (создавать/удалять привязку к сервису). Также создать привязку пользователя к сервису авторизаций можно используя метод API [[product:api:list:linkuserto_oid|LinkUserToOpenIdConnect]] . В портлете указана информация: * название - название провайдера **OpenIdConnect** (соответствует ''authenticationType'' в конфигурационном файле); * заголовок - заголовок провайдера **OpenIdConnect** (соответствует ''caption'' в конфигурационном файле), название кнопки на странице входа; * учетная запись - учетная запись данного пользователя у провайдера **OpenIdConnect**; * столбец с кнопкой «Изменить» - нажимая на нее, открывается возможность редактирования соответствующей строки. {{ releases:3_29:sso_user_profile.png?direct&500 |}} \\ При нажатии кнопки "Изменить" в столбце "Учетная запись" появляется возможность ввести данные учетной записи данного пользователя у провайдера **OpenIdConnect**. Для сохранения данных необходимо нажать кнопку "Сохранить". \\ {{ :product:settings:system:account_set.png?direct&500 |}} \\ После того, как создана привязка и указана корректная информация учетной записи пользователя у провайдера **OpenIdConnect**, у пользователя появляется возможность входа в систему ADVANTA через этого провайдера. \\ ===== Пример настройки авторизации через Open ID Connect ===== В примере представлена настройка конфигурационного файла системы ''client.config'' для авторизации через провайдера [[product:api:integration_examples:blitz-idp|Blitz IDP]]. ... ...
... ... ... Администратор может настроить авторизацию через любого провайдера **OpenIdConnect**. ===== Логирование событий входа ===== При удачном/неудачном входе пользователем в систему через **OpenIdConnect** Администратор может видеть соответствующие события в [[product:settings:logs:sys_protocol|Ленте событий]]. {{ :product:settings:system:login_attempt.png?direct&500 |}}