Вы можете настроить для приложений и веб-сервисов, интегрированных с Creatio, безопасную авторизацию по протоколу OAuth 2.0. Эта технология позволяет не передавать сторонним приложениям логин и пароль Creatio, а также ограничить права внешних приложений на действия в Creatio.
Установить и настроить Identity Service
Установка и настройка Identity Service выполняется после развертывания сервера базы данных и сервера приложения Creatio. Чтобы установить Identity Service:
- Перейдите на сервер приложения.
- Установите .NET Core runtime 2.2. Скачать установочный файл
- Установить .NET Core Hosting Bundle. Скачать установочный файл
- Перезапустите IIS.
- В папке с установочными файлами Creatio найдите архив IdentityService.zip и распакуйте его.
- Добавьте в IIS новый пул приложения для Identity Service.
- В области Connections окна управления IIS перейдите в секцию Applications Pools.
- В области Actions выберите действие Add Application Pool….
- В окне настройки пула укажите его название, например, “IdentityServicePool”. В поле .NET CLR Version укажите значение “No Managed Code”.
- Настройте доступ к пулу приложения:
- Кликните правой кнопкой мыши по созданному пулу. В контекстном меню выберите Advanced Settings….
- В открывшемся окне в поле Identity укажите пользователя для подключения к Identity Service с правом доступа к папке приложения.
- Создайте в IIS новый сайт для Identity Service.
-
В окне управления IIS щелкните правой клавишей мыши по Sites и выберите Add Website в контекстном меню.
-
Укажите название сайта, пул и путь к корневому каталогу с файлами Identity Service.
-
-
Настройте сайт на работу с СУБД вашего приложения Creatio. Для этого в конфигурационном файле appSettings.json, который находится в корневом каталоге Identity Service:
-
В параметре “DbProvider” укажите “MsSqlServer” или “Postgres”.
-
В настройке MsSqlConnection или PostgresConnection укажите строку соединения. Рекомендуется задавать то же значение строки, что и в основном приложении Creatio. При этом важно, чтобы у пользователя, под которым выполняется подключение к БД, были права на создание и редактирование таблиц.
-
-
Настройте системного пользователя Identity Service. Для этого придумайте уникальные значения ClientId, ClientName, ClientSecret и укажите их в блоке “Clients” конфигурационного файла appSettings.json, который находится в корневом каталоге Identity Service. Эти значения будут использоваться для настройки взаимодействия между Identity Service и Creatio. Для всех значений можно использовать большие и маленькие буквы, цифры, специальные символы, например, скобки или знаки препинания.
Рекомендуемые параметры:
- ClientId — 16 символов;
- ClientSecret — 32 символа;
- ClientName — произвольное количество символов.
Пример настройки блока “Clients” - Переведите Identity Service на работу по протоколу HTTPS. Настройки аналогичны тем, которые необходимо выполнить для приложения Creatio. Подробнее: Перевести Creatio с HTTP на HTTPS.
- Включите логирование работы Identity Service.
- В файле web.config, который находится в папке приложения Identity Service, для параметра “stdoutLogEnabled” установить значение “true”.
- В том же файле для параметра “stdoutLogFile” укажите путь к папке, где будут храниться логи приложения.
- Настройте уровень логирования в appsettings.json, который находится в корневом каталоге Identity Service:
Настроить интеграцию с Identity Service на стороне Creatio
- Включите функциональность интеграции с приложением по протоколу OAuth 2.0. Для этого выполните для базы данных вашего приложения приведенный ниже скрипт. Он универсален и может использоваться для Microsoft SQL и PostgreSql.
- Заполните системные настройки, которые входят в группу “OAuth 2.0”:
- “Адрес сервера авторизации для интеграций по OAuth 2.0” (код “OAuth20IdentityServerUrl”) — адрес IdentityServer, например, http://isEnpointExample.
- “Идентификатор приложения для интеграций по OAuth 2.0” (код “OAuth20IdentityServerClientId”) — идентификатор системного пользователя, указанный в параметре “ClientId” файла appSettings.json при настройке IdentityServer.
- “Секрет клиента для интеграций по OAuth 2.0” (код “OAuth20IdentityServerClientSecret”) — секретный ключ системного пользователя, указанный в параметре “ClientSecret” файла appSettings.json при настройке IdentityServer.
- Создайте ресурс приложения по умолчанию. Это действие выполняется один раз при настройке интеграции Identity Sevice с Creatio.
- Откройте дизайнер системы по кнопке .
- Перейдите в раздел Интеграции с OAuth 2.0 авторизацией.
- В меню действий выберите Создать ресурс по умолчанию.
В результате в приложении будет создана запись ресурса по умолчанию с учетными данными вашего Identity Service.
Настроить авторизацию приложений по протоколу OAuth 2.0
После установки Identity Service и подключения его к Creatio необходимо для каждого из приложений, которые будут авторизоваться в Creatio по протоколу OAuth 2.0, создать запись клиента. Для этого:
- Откройте дизайнер системы по кнопке .
- Перейдите в раздел Интеграции с OAuth 2.0 авторизацией.
- Нажмите Добавить.
- На открывшейся странице заполните параметры клиента (приложения, которое будет подключаться к Creatio):
- Название — заголовок, который будет отображаться в реестре интеграций и логах.
- URL приложения — адрес приложения или веб-сервиса, который интегрируется с Creatio.
- Описание — задача, которую решает данная интеграция.
- Активен — признак определяет, используется ли интеграция с данным приложением или веб-сервисом.
-
Пользователь — пользователь системы с требуемым для данной интеграции набором прав. Рекомендуется настроить права доступа для этого пользователя таким образом, чтобы он имел доступ только на чтение и редактирование тех полей, в которые интегрируемое приложение или веб-сервис будут вносить изменения. Например, для веб-сервиса, передающего в Creatio курсы валют, это поля Курс и Начало страницы записи справочника Валюты.
Учетные данные клиента (идентификатор и секрет) заполнятся автоматически.
- Сохраните запись.
- Повторите шаги 3–6 для всех приложений, которым необходима авторизация по протоколу OAuth 2.0.