Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:settings:system:open_id [21.08.2024 06:39] – [Пример настройки авторизации через Open ID Connect] ekaterina.menkhuzinaproduct:settings:system:open_id [09.09.2024 07:03] (текущий) – [Пример настройки авторизации через Open ID Connect] ekaterina.menkhuzina
Строка 1: Строка 1:
 ====== Настройка авторизации через Open ID Connect ====== ====== Настройка авторизации через Open ID Connect ======
 ===== Настройка конфигурационного файла ===== ===== Настройка конфигурационного файла =====
-''Начиная с версии системы 3.29'' в настройках конфигурационного файла системы ''client.config'' появился раздел, в котором в виде массива можно указать перечень внешних сервисов аутентификации по протоколу **OAuth 2.0** / **OpenIdConnect**.+''Начиная с версии системы 3.29'' в настройках конфигурационного файла системы ''client.config'' появился раздел, в котором в виде массива можно указать перечень внешних сервисов аутентификации по протоколу **OpenIdConnect**.
  
 Перечень провайдеров авторизации через **OpenIdConnect** задается в файле ''client.config'' в разделе ''<openIdConnect>'': Перечень провайдеров авторизации через **OpenIdConnect** задается в файле ''client.config'' в разделе ''<openIdConnect>'':
Строка 21: Строка 21:
  
 ^ Параметр ^ Описание ^ ^ Параметр ^ Описание ^
-|caption|Название провайдера авторизации на странице входа в систему+|caption|Обязательный параметр \\ Название провайдера авторизации для отображения кнопки с этим именем| 
-|metadataURL|URL-адрес удаленного сервера с метаданными| +|metadataURL|Обязательный параметр \\ URL-адрес удаленного сервера с метаданными| 
-|authenticationType|Идентификатор провайдера авторизации| +|authenticationType|Обязательный параметр \\ Идентификатор провайдера авторизации, под этим именем данный провайдер OpenIdConnect будет отображаться в профиле пользователя, а также использоваться в API методах. Можно использовать любой удобный
-|clientId|Идентификатор клиента (приложения), выбирается согласно правилам именования сервисов для аутентификации в OpenIdConnect| +|clientId|Обязательный параметр \\ Идентификатор клиента (приложения), выбирается согласно правилам именования сервисов для аутентификации в OpenIdConnect| 
-|enabled|Включение/отключение провайдера, возможные значения: true и false| +|enabled|Обязательный параметр \\ Включение/отключение провайдера, возможные значения: true и false| 
-|scope|Запрашиваемые скоупы. Если параметр не задан, то используется только скоуп ''openid''+|scope|Указываются запрашиваемые скоупы. Если параметр не задан, то используется только скоуп ''openid'' \\ Может быть несколько
-|clientSecret|Секрет приложения| +|clientSecret|Обязательный параметр \\ Указывается секрет приложения| 
-|responseType|Необязательный параметр. Тип ответа, по умолчанию ''id_token''. Возможные значения: ''code'',''code id_token'', ''code id_token token'', ''code token'', ''id_token'', ''id_token token'', ''token''+|responseType|Необязательный параметр. \\ Тип ответа, по умолчанию ''id_token''. Возможные значения: \\ ''code'', \\ ''code id_token'', \\ ''code id_token token'', \\ ''code token'', \\ ''id_token'', \\ ''id_token token'', \\ ''token''
-|claimType|Тип утверждения, используемый для получения идентификатора пользователя на сервере авторизации| +|claimType|Тип утверждения, используемый для получения идентификатора пользователя на сервере авторизации. Будет использоваться для связки пользователя системы с пользователем OpenIdConnect
-|disableSignatureValidation|Необязательный параметр, отключает валидацию токена. Если параметр не задан, то значение false и валидация включена| +|disableSignatureValidation|Необязательный параметр \\ Отключает валидацию токена. Если параметр не задан, то значение false и валидация включена| 
-|jwks_uri|Стандарт под OpenIdConnect провайдера| +|jwksFilePath|Опциональный параметр \\ Файл, который содержит ключи валидации в формате JSON. Формат аналогичен странице ''jwks_uri''. Если параметр не задан, то ключи берутся только с адреса ''jwks_uri'' \\ Можно использовать, если по какой-то причине провайдер OpenIdConnect не предоставляет ключи валидации \\ Пример использования:  ''jwksFilePath'' = ″C:\inetpub\wwwroot\a2key\jwksFile.txt″|
-|jwksFilePath|Опциональный параметрФайл, который содержит ключи валидации в формате JSON. Формат аналогичен странице ''jwks_uri''. Если параметр не задан, то ключи берутся только с адреса ''jwks_uri''Можно использовать, если по какой-то причине провайдер OpenIdConnect не предоставляет ключи валидации|+
  
-<callout type="warning" icon="true">В ''client.config'' также необходимо добавить индикацию, что необходимо использовать интеграцию с **OpenIdConnect**. Для этого опционально в разделе ''<configSections>'' предусмотреть размещение секции ''"<section name="openIdConnecttype="Config.OpenIdConnectConfigurationSection,smcorelib"/>»''. При отсутствии данной секции, использование **OpenIdConnect** невозможно.</callout>+<callout type="warning" icon="true">В ''client.config'' также необходимо добавить индикацию, что необходимо использовать интеграцию с **OpenIdConnect**. Для этого опционально в разделе ''<configSections>'' предусмотреть размещение секции '' <section name= openIdConnect″'' ''type=Config.OpenIdConnectConfigurationSection,smcorelib/>''. При отсутствии данной секции, использование **OpenIdConnect** невозможно.</callout>
  
 ===== Вход в систему ===== ===== Вход в систему =====
 Настройка авторизации через **Open ID Connect** производится Администратором системы, в том числе привязка профилей пользователей ADVANTA к провайдерам авторизации. Настройка авторизации через **Open ID Connect** производится Администратором системы, в том числе привязка профилей пользователей ADVANTA к провайдерам авторизации.
  
-После корректных настроек конфигурационного файла ''client.config'' и перезапуска системы, пользователю будет доступен вход в систему через нового провайдера аутентификации. На странице входа для каждого нового настроенного провайдера появится отдельная кнопка с названием из настроек конфигурационного файла.+После корректных настроек конфигурационного файла ''client.config'' и перезапуска системы, пользователю будет доступен вход в систему через новый провайдер аутентификации. На странице входа для каждого нового настроенного провайдера появится отдельная кнопка с названием из настроек конфигурационного файла.
  
 <image shape="thumbnail">{{ :product:auth:admin:sso_login_full1.png?direct&300 |}}</image> <image shape="thumbnail">{{ :product:auth:admin:sso_login_full1.png?direct&300 |}}</image>
 \\ \\
-Подробная информация о входе в систему через провайдера аутентификации на странице [[product:auth:admin:sso_open_id|Авторизация по протоколу Open ID Connect]].+Подробная информация о входе в систему через провайдер аутентификации на странице [[product:auth:admin:sso_open_id|Авторизация по протоколу Open ID Connect]].
  
 <callout type="warning" icon="true">При отключении провайдера (параметр ''enabled''), кнопки авторизации не будет, но привязка пользователей в системе сохранится. Чтобы удалить связи с сервисами авторизации, необходимо: <callout type="warning" icon="true">При отключении провайдера (параметр ''enabled''), кнопки авторизации не будет, но привязка пользователей в системе сохранится. Чтобы удалить связи с сервисами авторизации, необходимо:
-  * в портлете с сервисами авторизации в настройках пользователя удалить привязку к сервису;+  * в [[product:settings:system:open_id#настройка_связки_учетных_записей|портлете с сервисами авторизации]] в настройках пользователя удалить привязку к сервису;
   * использовать метод API [[product:api:list:deletelinkuserwith_oid|DeleteLinksWithOpenIdConnect]]. Подробнее о методах API на странице [[product:api:list|Описание методов API]].   * использовать метод API [[product:api:list:deletelinkuserwith_oid|DeleteLinksWithOpenIdConnect]]. Подробнее о методах API на странице [[product:api:list|Описание методов API]].
 </callout> </callout>
Строка 96: Строка 95:
 </openIdConnect> </openIdConnect>
  
-... 
- 
-<appSettings>  
-  <add key="AllowedExternalApplicationClientIds" value="1;2"/> 
-  ...  
-</appSettings> 
-  
 ... ...
 </code> </code>