Настройка дополнительных параметров и интеграций
PDF

Настроить авторизацию интегрированных приложений по протоколу OAuth 2.0

Продукты
Все продукты

Вы можете настроить для приложений и веб-сервисов, интегрированных с Creatio, безопасную авторизацию по протоколу OAuth 2.0. Эта технология позволяет не передавать сторонним приложениям логин и пароль Creatio, а также ограничить права внешних приложений на  действия в Creatio.

Установить и настроить Identity Service  

Установка и настройка Identity Service выполняется после развертывания сервера базы данных и сервера приложения Creatio. Чтобы установить Identity Service:  

  1. Перейдите на сервер приложения. 
  2. Установите .NET Core Hosting Bundle. Скачать установочный файл 
  3. Перезапустите IIS. 
  4. В папке с установочными файлами Creatio найдите архив IdentityService.zip и распакуйте его. 
  5. Добавьте в IIS новый пул приложения для Identity Service.  
    1. В области [Connections] окна управления IIS перейдите в секцию [Applications Pools]. 
    2. В области [Actions] выберите действие [Add Application Pool…]. 
      Рис 1. — Добавление пула в IIS
    3. В окне настройки пула укажите его название, например, “IdentityServicePool”. В поле [.NET CLR Version] укажите значение "No Managed Code".
      Рис. 2 — Пример настройки пула Identity Service

       

  6. Настройте доступ к пулу приложения: 
    1. Кликните правой кнопкой мыши по созданному пулу. В контекстном меню выберите [Advanced Settings…].  
    2. В открывшемся окне в поле [Identity] укажите пользователя для подключения к Identity Service с правом доступа к папке приложения.  
  7. Создайте в IIS новый сайт для Identity Service. 
    1. В окне управления IIS щелкните правой клавишей мыши по Sites и выберите Add Website в контекстном меню. 

    2. Укажите название сайта, пул и путь к корневому каталогу с файлами Identity Service.

      Рис. 3 — Пример настройки сайта в IIS

       

  8. Настройте сайт на работу с СУБД вашего приложения Creatio. Для этого в конфигурационном файле appSettings.json, который находится в корневом каталоге Identity Service:  

    1. В параметре "DbProvider" укажите “MsSqlServer” или “Postgres”.  

    2. В настройке MsSqlConnection или PostgresConnection укажите строку соединения. Рекомендуется задавать то же значение строки, что и в основном приложении Creatio. При этом важно, чтобы у пользователя, под которым выполняется подключение к БД, были права на создание и редактирование таблиц. 

      На заметку. Для подключения Identity Service к приложениям, которые работают с СУБД Oracle, необходимо развернуть дополнительный экземпляр БД на PostgreSQL или MSSQL.

  9. Настройте системного пользователя Identity Service. Для этого придумайте уникальные значения ClientId, ClientName, ClientSecret и укажите их в блоке "Clients" конфигурационного файла appSettings.json, который находится в корневом каталоге Identity Service. Эти значения будут использоваться для настройки взаимодействия между Identity Service и Creatio. Для всех значений можно использовать большие и маленькие буквы, цифры, специальные символы, например, скобки или знаки препинания.  
    Рекомендуемые параметры: 
    ClientId — 16 символов; 
    ClientSecret — 32 символа; 
    ClientName — произвольное количество символов. 
     

    Пример настройки блока “Clients”
    "[{\"ClientId\":\"{сгенерировать ClientId}\",\"ClientName\":\"{сгенерировать имя}\",\"Secrets\":[\"{сгенерировать ClientSecret}\"],\"AllowedGrantTypes\":[\"implicit\",\"client_credentials\"],\"RedirectUris\":[\"http://localhost:8080\",\"http://localhost:8080/lib\",\"http://localhost:8080/lib/\"],\"PostLogoutRedirectUris\":[\"http://localhost:8080\"],\"IdentityTokenLifetime\": 300,\"AccessTokenLifetime\": 3600,\"Properties\": {\"AllowedQueryParameters\": \"[\\\"invitationHash\\\",\\\"targetSubject\\\"]\"},\"AllowedScopes\": [\"register_own_resource\", \"get_resource_list\", \"get_client_info\",\"find_clients\",\"remove_client\",\"update_client\", \"add_registrar_client\", \"IdentityServerApi\"]}]" 
  10. Переведите Identity Service на работу по протоколу HTTPS. Настройки аналогичны тем, которые необходимо выполнить для приложения Creatio. Подробнее: Перевести Creatio с HTTP на HTTPS.
  11. Включите логирование работы Identity Service. 
    1. В файле web.config, который находится в папке приложения Identity Service, для параметра "stdoutLogEnabled" установить значение "true". 
    2. В том же файле для параметра "stdoutLogFile" укажите путь к папке, где будут храниться логи приложения. 
    3. Настройте уровень логирования в appsettings.json, который находится в корневом каталоге Identity Service:  
      "Logging": { 
      
        "LogLevel": { 
      
          "Default": "Error" 
      
        } 
      
      } 
      

Настроить интеграцию с Identity Service на стороне Creatio  

  1. Включите функциональность интеграции с приложением по протоколу OAuth 2.0. Для этого выполните для базы данных вашего приложения приведенный ниже скрипт. Он универсален и может использоваться для MSSQL и PostgreSql.
    UPDATE "AdminUnitFeatureState" 
    
        SET "FeatureState" = 1 
    
    WHERE "FeatureId" = ( 
    
        SELECT 
    
            "Id" 
    
        FROM "Feature" 
    
        WHERE "Code" = 'OAuth20Integration')
  2. Заполните системные настройки, которые входят в группу "OAuth 2.0":
    1. Адрес сервера авторизации для интеграций по OAuth 2.0” (код “OAuth20IdentityServerUrl”) — адрес IdentityServer, например, http://isEnpointExample. 
    2. Идентификатор приложения для интеграций по OAuth 2.0” (код “OAuth20IdentityServerClientId”) — идентификатор системного пользователя, указанный в параметре “ClientId” файла appSettings.json при настройке IdentityServer. 
    3. Секрет клиента для интеграций по OAuth 2.0” (код “OAuth20IdentityServerClientSecret”) — секретный ключ системного пользователя, указанный в параметре “ClientSecret” файла appSettings.json при настройке IdentityServer. 
  3. Создайте ресурс приложения по умолчанию. Это действие выполняется один раз при настройке интеграции Identity Sevice с Creatio. 
    1. Откройте дизайнер системы по кнопке
    2. Перейдите в раздел [Интеграции с OAuth 2.0 авторизацией]. 
    3. В меню действий выберите [Создать ресурс по умолчанию]. 
      Рис. 4 — Создание ресурса по умолчанию

       

В результате в приложении будет создана запись ресурса по умолчанию с учетными данными вашего Identity Service.

Настроить авторизацию приложений по протоколу OAuth 2.0  

После установки Identity Service и подключения его к Creatio необходимо для каждого из приложений, которые будут авторизоваться в Creatio по протоколу OAuth 2.0, создать запись клиента. Для этого: 

  1. Откройте дизайнер системы по кнопке
  2. Перейдите в раздел [Интеграции с OAuth 2.0 авторизацией]. 
  3. Нажмите [Добавить]. 
  4. На открывшейся странице заполните параметры клиента (приложения, которое будет подключаться к Creatio): 
    1. [Название] — заголовок, который будет отображаться в реестре интеграций и логах. 
    2. [URL приложения] — адрес приложения или веб-сервиса, который интегрируется с Creatio. 
    3. [Описание] — задача, которую решает данная интеграция. 
    4. [Активен] — признак определяет, используется ли интеграция с данным приложением или веб-сервисом. 
    5. [Пользователь] — пользователь системы с требуемым для данной интеграции набором прав. Рекомендуется настроить права доступа для этого пользователя таким образом, чтобы он имел доступ только на чтение и редактирование тех полей, в которые интегрируемое приложение или веб-сервис будут вносить изменения. Например, для веб-сервиса, передающего в Creatio курсы валют, это поля [Курс] и [Начало] страницы записи справочника [Валюты]. 
      Учетные данные клиента (идентификатор и секрет) заполнятся автоматически. 
      Рис. 5 — Пример настройки клиента
  5. Сохраните запись. 
  6. Повторите шаги 3–6 для всех приложений, которым необходима авторизация по протоколу OAuth 2.0.