<< Click to Display Table of Contents >> Администрирование (Windows) > Общесистемные настройки > Настройка аутентификации > OpenID Connect 1.0 Настройка OpenID Connect 1.0 с использованием Keycloak
|
![]() ![]() |
Для работы аутентификации по протоколу OpenID Connect 1.0 с использованием Keycloak настройте:
1.Аутентификацию на стороне провайдера
2.Конфигурационный файл Directum RX
После настройки перезапустите сервисы Directum RX и проверьте работу внешней аутентификации.
Аутентификацию на стороне провайдера
1.В консоли Keycloak на панели слева выберите пункт Clients. В открывшемся окне нажмите на кнопку Create client. Откроется окно создания клиента:
2.На шаге General Settings заполните поля:
•Client type. Тип клиента. В выпадающем списке выберите значение OpenID Connect;
•Client ID. Уникальный идентификатор клиента в системе Keycloak;
•Always display in console. Установите переключатель, чтобы клиент всегда отображался в административной консоли Keycloak, даже если он неактивен или отключен.
3.На шаге Capability config установите переключатель Client authentication и флажки Standard flow и Implicit flow. Нажмите на кнопку Save.
4.В разделе Clients найдите созданное приложение и кликните по нему. Откроется страница настройки клиентского приложения:
5.На вкладке Settings заполните поле Valid redirect URIs в формате <адрес системы>/Client/<значение OIDC_CALLBACK_PATH>. Нажмите на кнопку Save.
ВАЖНО. В URL значение Client должно совпадать со значением в конфигурационном файле config.yml в секции Общие настройки (common_config) в параметре WEB_HOST_PATH_BASE. По умолчанию при установке системы в параметре указывается значение Client. Также необходимо учитывать регистр символов.
Настройка конфигурационного файла Directum RX
В конфигураторе Directum Launcher в секции Общие настройки (common_config) добавьте параметры:
•EXTERNAL_AUTHENTICATION_TYPE – тип аутентификации. Укажите значение OpenIdConnect;
•AUTHENTICATION_WIN_ACCOUNT_CLAIM_TYPE – тип утверждения, в котором передается имя учетной записи. Укажите значение preferred_username;
•AUTHENTICATION_SID_CLAIM_TYPE – тип утверждения, в котором передается SID (идентификатор) пользователя. Необязательный параметр;
•OIDC_CLIENT_ID – идентификатор веб-клиента Directum RX. Введите значение, которое указывали в поле Client ID;
•OIDC_CLIENT_SECRET – значение клиентского секрета. Используется для настройки безопасности. В консоли Keycloak перейдите в раздел Realm settings на вкладку General. В открывшемся окне скопируйте значение поля Client service и укажите в параметре;
•OIDC_USE_BASIC_AUTH_FOR_CLIENT_SECRET – метод передачи клиентского секрета. Обычно задается при настройке на стороне провайдера аутентификации. Укажите одно из возможных значений:
•флажок снят (false) – используется механизм базовой аутентификации (Basic), секрет передается в теле HTTP-запроса. Значение по умолчанию;
•флажок установлен (true) – секрет передается в заголовке Authorization.
•OIDC_CALLBACK_PATH – часть пути до веб-клиента Directum RX, на который будет перенаправлен пользователь после попытки аутентификации. Введите часть URL, который указывали в поле Valid redirect URIs;
•OIDC_SCOPE – список областей, разделенных пробелами. Передается в запросе авторизации провайдеру аутентификации. Влияет на состав утверждений, возвращаемых в идентификационном маркере. Если значение параметра не указано, используется openid profile;
•OIDC_METADATA_ADDRESS – адрес точки входа для получения метаданных. В консоли Keycloak перейдите в раздел Realm settings на вкладку General. В открывшемся окне в поле Endpoints нажмите на ссылку OpenID Endpoint Configuration. В результате откроется страница с метаданными, скопируйте ее адрес и укажите в параметре.
ПРИМЕЧАНИЕ. Параметр OIDC_AUTHORITY при использовании Keycloak не учитывается.
Пример настройки в config.yml:
WEB_HOST_PATH_BASE: 'Client'
EXTERNAL_AUTHENTICATION_TYPE: 'OpenIdConnect'
AUTHENTICATION_WIN_ACCOUNT_CLAIM_TYPE: 'preferred_username'
OIDC_CLIENT_ID: 'security-admin-console'
OIDC_CLIENT_SECRET: 'EO9Xi5aYqOPRg1GcgLjNl7tsZMts8mnv'
OIDC_USE_BASIC_AUTH_FOR_CLIENT_SECRET: 'false'
OIDC_CALLBACK_PATH: '/b1'
OIDC_METADATA_ADDRESS: 'https://keycloak.dev.comp.npo:8443/realms/ogv/.well-known/openid-configuration'
© Компания Directum, 2025 |