ThingWorx Flow > Установка и конфигурация > Конфигурирование ThingWorx Flow > Конфигурирование и загрузка соединителей OAuth
Конфигурирование и загрузка соединителей OAuth
Перед созданием соединителя OAuth для любого стороннего сервиса или утилиты необходимо загрузить соответствующий поставщик OAuth на сервер ThingWorx Flow. Шаблон JSON-файла конфигурации OAuth доступен в параметре oauthConfigurations сервиса LoadOAuthConfiguration в WorkflowSubsystem в ThingWorx Composer. Ниже приведен высокоуровневый обзор процесса загрузки OAuth:
1. Создайте приложение в системе стороннего производителя.
2. Загрузите из приложения пару "ИД - секрет клиента" и добавьте ее в образец JSON-файла конфигурации OAuth. Добавьте значения любых дополнительных параметров, требуемых для конфигурации OAuth.
Чтобы удалить настройки OAuth для любых сторонних сервисов или утилит, необходимо удалить весь объект JSON. Например, чтобы удалить настройки OAuth для Gmail, удалите следующий объект JSON:
"google_gmail": {
"Gmail": {
"CLIENT_ID": "<Client ID>"
"CLIENT_SECRET": "<Secret>"
}
},
Если вы удалили объект JSON для любых сторонних сервисов или утилит и хотите добавить их настройки OAuth позже, добавьте фрагмент кода JSON из образца шаблона JSON-файла конфигурации OAuth и укажите требуемые значения для конфигурации OAuth.
* 
Пример файла конфигурации содержит значения конфигурации соединителя, представляющие сервис или утилиту стороннего разработчика. Например, для Gmail не следует изменять google_gmail в объекте JSON. Чтобы добавить несколько поставщиков OAuth для Gmail, например Gmail-1 и Gmail-2, добавьте следующий объект JSON в файл примера:
{
"google_gmail": {
"Gmail-1": {
"CLIENT_ID": "<client id for Gmail - 1 account here>",
"CLIENT_SECRET": "<client secret for Gmail - 1 account here>"
},
"Gmail-2": {
"CLIENT_ID": "<client id for Gmail - 2 account here>",
"CLIENT_SECRET": "<client secret for Gmail - 2 account here>"
}
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
ThingWorx Flow поддерживает OAuth для следующих сервисов и утилит:
Azure
Bitly
Box
Github
Gitlab
Gmail
HTTP
JIRA
OData
OSLC
SOAP
Slack
Trello
Конфигурирование и загрузка соединителей OAuth для сервисов и утилит
Azure
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Azure:
1. Создайте приложение Azure.
При создании приложения задайте подходящие значения следующих параметров:
Разрешения API - управление сервисами Azure.
URI перенаправления - введите URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Azure, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Azure.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Azure.
"azure": {
"Azure": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Bitly
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Bitly:
1. Создайте приложение Bitly.
При создании приложения задайте URI перенаправления как URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Bitly, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Bitly.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Bitly.
"bitly": {
"Bitly": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Box
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Box:
1. Создайте Приложение Box.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области приложения - выбор всех контекстных областей.
URI перенаправления - введите URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
Следующий видеоролик демонстрирует шаги, необходимые для включения конфигурации OAuth для Box:
2. Чтобы добавить поставщик OAuth для Box, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Box.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Box.
"box": {
"Box": {
"CLIENT_SECRET": "client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Dialogflow
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Dropbox:
При конфигурировании приложения укажите URI перенаправления как URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
Чтобы добавить поставщик OAuth для приложения Dialogflow, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Google.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Google.
"apiai": {
"Dialogflow": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
2. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Dropbox
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Dropbox:
1. Создайте приложение Dropbox. Эта ссылка предоставляет информацию о Dropbox OAuth.
При создании приложения задайте подходящие значения для следующих параметров:
API - выберите Dropbox API.
Тип доступа - полный Dropbox.
URI перенаправления - введите URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Dropbox, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Dropbox.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Dropbox.
"dropbox": {
"Dropbox": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Dynamics 365 CRM
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Dynamics 365 CRM:
При создании приложения задайте URI перенаправления как URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Dynamics 365 CRM, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Azure.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Azure.
"dynamics365": {
"Dynamics365": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Excel Online, Office 365, OneDrive
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Excel Online, Office 365 или OneDrive.
1. Создайте приложение Azure.
При создании приложения задайте подходящие значения следующих параметров:
Разрешения API - управление сервисами Azure.
URI перенаправления - введите URL возврата ThingWorx Flow в формате https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Excel Online, Office 365 или OneDrive, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Azure.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Azure.
Excel Online
"excel": {
"Excel Online": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Office 365
"microsoft_365": {
"Office 365": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
OneDrive
"onedrive": {
"OneDrive": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Github
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения GitHub:
При создании приложения задайте URL-адрес обратного вызова авторизации для URL-адреса возврата ThingWorx Flow в формате https://< имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Github, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Github.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Github.
"github": {
"Github": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Gitlab
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения GitLab:
1. Создайте приложение GitLab.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - api, read_user, read_repository, read_registry.
URI перенаправления - введите URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Gitlab, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения GitLab.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения GitLab.
"gitlab": {
"Gitlab": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Gmail, Google Drive, Google Forms, Google Sheets, Google Tasks, Google Translator, YouTube
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Google:
При конфигурировании приложения укажите URI перенаправления как URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
Чтобы добавить поставщик OAuth для приложения Google, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Google.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Google.
Gmail
"google_gmail": {
"Gmail": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Диск Google
"google_drive": {
"Google Drive": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google Forms
"google_form": {
"Google Form": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google Sheets
"google_sheet": {
"Google Sheet": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google Task
"google_task": {
"Google Tasks": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google Translator
"google_translator": {
"Google Translator": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Youtube
"youtube": {
"Youtube": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
2. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
HTTP
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера HTTP:
1. Сконфигурируйте OAuth на сервере HTTP.
2. Чтобы добавить поставщик OAuth для сервера HTTP, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
AUTH_URL
[Требуется]
Указывает конечную точку OAuth для запросов лексем.
Загрузите значение из клиента OAuth.
Пример: \authorize
TOKEN_URL
[Требуется]
Предоставляет лексему доступа.
Загрузите значение из клиента OAuth.
Пример: \token
VALIDATE_URL
[Требуется]
Указывает URL-адрес, используемый для подтверждения лексемы доступа.
Загрузите значение из клиента OAuth.
Если не нужен VALIDATE_URL, укажите доступный URL-адрес сервера.
Пример: https://www.dropbox.com/
Если VALIDATE_URL нужно реализовать, используйте метод get для создания API.
REFRESH_URL
Определяет URL-адрес, используемый для получения лексем доступа.
Загрузите значение из клиента OAuth.
Пример: \token
SCOPE
[Требуется]
Предоставляет разделенный пробелами список контекстных областей для приложения.
<Контекстная область 1> <Контекстная область 2>
BASE_URL
[Требуется]
Указывает URL-адрес центрального сервера Auth.
Загрузите значение из клиента OAuth.
NEED_RESOURCE_URL
[Требуется]
Указывает, должен ли пользователь предоставить RESOURCE_URL при добавлении соединителя OAuth.
Если задано значение true, пользователь должен указать значение RESOURCE_URL при добавлении поставщика OAuth.
Если задано значение false, пользователь должен указать значение RESOURCE_URL при добавлении соединителя OAuth.
true или false
RESOURCE_URL
Указывает URL-адрес сервера ресурсов.
-
CLIENT_ID
[Требуется]
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента OAuth.
CLIENT_SECRET
[Требуется]
Секретное значение клиента.
Загрузите значение из клиента OAuth.
"devtools": {
"HTTP": {
"AUTH_URL": "<auth url here>",
"CLIENT_SECRET": "<client secret here>",
"TOKEN_URL": "<token url here>",
"VALIDATE_URL": "<validate url here>",
"CLIENT_ID": "<client id here>",
"SCOPE": "<scopes separated by spaces>",
"RESOURCE_URL": "<resource url here>",
"BASE_URL": "<base url here>",
"REFRESH_URL": "<refresh url here>",
"NEED_RESOURCE_URL": "<boolean value here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
JIRA
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения JIRA:
1. Создайте приложение JIRA.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - view Jira issue data (read:jira-work), create and manage issues (write:jira-work), view user profiles (read:jira-user)
URL-адрес обратного вызова - введите ThingWorx Flow URL возврата, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для JIRA, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения JIRA.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения JIRA.
"jira": {
"JIRA": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
OData
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для экземпляра OData:
1. Настройте OAuth на экземпляре OData.
2. В соответствии с конфигурацией OAuth укажите значения в JSON файле конфигурации OAuth. См. пример config.json. Ниже приведены примеры значений, которые можно предоставить при загрузке OAuth.
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения OAuth.
VALIDATE_URL
Указывает URL-адрес, используемый для подтверждения лексемы доступа.
Загрузите значение из клиента OAuth.
REFRESH_URL
Определяет URL-адрес, используемый для получения лексем доступа.
Загрузите значение из клиента OAuth.
TOKEN_URL
Предоставляет лексему доступа.
Загрузите значение из клиента OAuth.
AUTH_URL
Указывает конечную точку OAuth для запросов лексем.
Загрузите значение из клиента OAuth.
{
"name": "odata",
"created_at": "2017-02-27T09:26:46.890Z",
"updated_at": "2017-02-27T09:26:46.890Z",
"uid": "oaufe1978bc9e71d999ef2ba4",
"icon": "odata",
"version": "v1",
"__v": 0,
"title": "Dynamics 365",
"oauth2_include": [
"{\"resource\":\"{resource}\"}"
],
"oauth2_required": [
{
"title": "Tenant ID",
"id": "tenant",
"default": "common",
"description": "Enter Dynamics 365 tenant id, leave it common if you don't have it"
},
{
"title": "Resource URL",
"id": "resource",
"description": "Enter Dynamics 365 resource URL, eg: https://example.crm5.dynamics.com"
}
],
"oauth2_params_scope": [
"{\"user_impersonation\":\"User Impersonation\"}"
],

"oauth2_refresh_data": [
"{\"client_secret\":\"{client_secret}\"}",
"{\"grant_type\":\"refresh_token\"}",
"{\"client_id\":\"{client_id}\"}",
"{\"resource\":\"{resource}\"}",
"{\"refresh_token\":\"{refresh_token}\"}"
],
"oauth2_refresh_url": "/token",
"oauth2_token_data": [
"{\"redirect_uri\":\"{redirect_uri}\"}",
"{\"client_id\":\"{client_id}\"}",
"{\"client_secret\":\"{client_secret}\"}",
"{\"resource\":\"{resource}\"}",
"{\"grant_type\":\"authorization_code\"}"
],
"oauth2_token_url": "/token",
"oauth2_auth_query": [
"{\"client_id\":\"{client_id}\"}",
"{\"response_type\":\"code\"}",
"{\"resource\":\"{resource}\"}",
"{\"scope\":\"{scope}\"}",
"{\"prompt\":\"login\"}",
"{\"redirect_uri\":\"{redirect_uri}\"}"
],
"oauth2_auth_url": "/authorize",
"oauth2_no_state": false,
"env_pre_prod_params": [
"{\"client_secret\":\"{{{pre_prod.CLIENT_SECRET}}}\"}",
"{\"redirect_uri\":\"{OAUTH_ENDPOINT_OAUTH_RETURN}\"}"
],
"env_production_params": [
"{\"redirect_uri\":\"{OAUTH_ENDPOINT_OAUTH_RETURN}\"}",
"{\"client_id\":\"{{{production.CLIENT_ID}}}\"}",
"{\"client_secret\":\"{{{production.CLIENT_SECRET}}}\"}"
],
"env_staging_params": [
"{\"redirect_uri\":\"{OAUTH_ENDPOINT_OAUTH_RETURN}\"}",
"{\"client_id\":\"{{{staging.CLIENT_ID}}}\"}",
"{\"client_secret\":\"{{{staging.CLIENT_SECRET}}}\"}"
],
"env_development_params": [
"{\"client_id\":\"{{{development.CLIENT_ID}}}\"}",
"{\"client_secret\":\"{{{development.CLIENT_SECRET}}}\"}",
"{\"redirect_uri\":\"{OAUTH_ENDPOINT_OAUTH_RETURN}\"}"
],
"env_local_params": [
"{\"client_id\":\"{{{local.CLIENT_ID}}}\"}",
"{\"client_secret\":\"{{{local.CLIENT_SECRET}}}\"}",
],
"base_url": "https://login.microsoftonline.com/{tenant}/oauth2",
"oauth_type": "OAuth2",
"development_phase": "new",
"advanced_enabled": true,
"express_enabled": true,
"deleted_at": null,
"published": true
}
Укажите информацию заголовка в массиве "oauth2_validate_headers", как показано в примере массива:
{
"oauth2_validate_headers": [
"{\"Authorization\":\"Bearer {access_token}\"}",
"{\"Content-Type\":\"application/json\"}"
]
}
Укажите информацию контекстной области в массиве "oauth2_params_scope", как показано в примере массива:
{
"oauth2_params_scope": [
"{\"READ\":\"READ_PRIVILEGES\"}"
]
}
Укажите needurl в массиве "oauth2_params_other", как показано в его примере:
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
OSLC
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера OSLC:
2. Чтобы добавить поставщик OAuth для OSLC, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из клиента OAuth.
BASE_URL
Указывает URL-адрес OAuth.
Загрузите значение с центрального сервера Auth.
Если клиентом OAUth является PingFederate, этот URL-адрес должен иметь следующий формат:
https://<Pingfederate FQDN>:<порт>/as
VALIDATE_URL
Указывает URL-адрес, используемый для подтверждения лексемы доступа.
Загрузите значение с центрального сервера Auth.
Пример: /introspect.oauth2
RESOURCE_URL
Указывает URL-адрес сервера OSLC.
Если не указывать значение для RESOURCE_URL, необходимо указать значения для OAUTH_URL, REFRESH_URL и TOKEN_URL.
Загрузите значение с центрального сервера Auth.
OAUTH_URL
Указывает конечную точку OAuth для запросов лексем.
Загрузите значение с центрального сервера Auth.
Пример: /authorization.oauth2
REFRESH_URL
Определяет URL-адрес, используемый для получения лексем доступа.
Загрузите значение с центрального сервера Auth.
Пример: /token.oauth2
TOKEN_URL
Предоставляет лексему доступа.
Загрузите значение с центрального сервера Auth.
Пример: /token.oauth2
"oslc": {
"OSLC": {
"CLIENT_SECRET": "<client secret here>",
"OAUTH_URL": "<oauth url here>",
"VALIDATE_URL": "<validate url here>",
"VALIDATE_AUTH": "<stringified validate auth object here in format <auth>:<authObject>, authObject should be a stringified json object>",
"TOKEN_URL": "<token url here>",
"CLIENT_ID": "client id here>",
"RESOURCE_URL": "<resource url here>",
"VALIDATE_QUERY": "<stringified validate query object here in format <token>:<access_token>",
"BASE_URL": "<base url here>",
"VALIDATE_METHOD": "<validate method here>",
"REFRESH_URL": "<refresh url here>"
}
}
* 
Необходимо указать либо параметр RESOURCE_URL, либо параметры авторизации (OAUTH_URL, REFRESH_URL и TOKEN_URL).
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
SAP OData
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера SAP OData:
При конфигурировании OAuth укажите URI перенаправления как URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для SAP OData, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента SAP OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из клиента SAP OAuth.
BASE_URL
Указывает URL-адрес центрального сервера авторизации.
https://<хост:порт>/sap/bc/sec/oauth2
SCOPE
Список контекстных областей, разделенных пробелами. Дополнительные сведения см. в разделе Контекстные области OAuth.
<Контекстная область 1> <Контекстная область 2>
RESOURCE_URL
Указывает URL-адрес ресурса SAP.
Рекомендуется предоставлять RESOURCE_URL во время конфигурирования OAuth. Если не указать RESOURCE_URL, пользователь должен предоставить его при добавлении соединителя OAuth.
https://<хост>:<порт>/
"sap_odata": {
"SAP_OData": {
"CONNECTION_URL": "<SAP OData url in format https://<host>:<port>/>",
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>",
"SCOPE": "<scopes separated by space>",
"BASE_URL": "<SAP OAuth url in format https://<host>:<port>/sap/bc/sec/oauth2>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
SOAP
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для экземпляра SOAP:
1. Настройте OAuth на экземпляре OData.
2. В соответствии с конфигурацией OAuth укажите значения в JSON файле конфигурации OAuth. См. пример config.json. Ниже приведены примеры значений, которые можно предоставить при загрузке OAuth.
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения OAuth.
VALIDATE_URL
Указывает URL-адрес, используемый для подтверждения лексемы доступа.
Загрузите значение из клиента OAuth.
REFRESH_URL
Определяет URL-адрес, используемый для получения лексем доступа.
Загрузите значение из клиента OAuth.
TOKEN_URL
Предоставляет лексему доступа.
Загрузите значение из клиента OAuth.
AUTH_URL
Указывает конечную точку OAuth для запросов лексем.
Загрузите значение из клиента OAuth.
Укажите информацию заголовка в массиве "oauth2_validate_headers", как показано в примере массива:
{
"oauth2_validate_headers": [
"{\"Authorization\":\"Bearer {access_token}\"}",
"{\"Content-Type\":\"application/json\"}"
]
}
Укажите информацию контекстной области в массиве "oauth2_params_scope", как показано в примере массива:
{
"oauth2_params_scope": [
"{\"READ\":\"READ_PRIVILEGES\"}"
]
}
Укажите needurl в массиве "oauth2_params_other", как показано в его примере:
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Salesforce
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Salesforce.
1. Создайте приложение Salesforce.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - укажите подходящие контекстные области для приложения.
URL-адрес обратного вызова - введите ThingWorx Flow URL возврата, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Salesforce, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Salesforce.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Salesforce.
"salesforce": {
"Salesforce": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Следующий видеоролик демонстрирует шаги, необходимые для включения конфигурации OAuth для Salesforce:
Servicemax
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения ServiceMax:
1. После входа в ServiceMax создайте приложение Servicemax.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - укажите подходящие контекстные области для приложения.
URL-адрес обратного вызова - введите ThingWorx Flow URL возврата, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Servicemax, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Servicemax.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Servicemax.
"servicemax": {
"Servicemax": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Slack
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Slack:
1. Создайте приложение Slack.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - укажите подходящие контекстные области для приложения.
URI перенаправления - введите URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Slack, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Slack.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Slack.
"slack": {
"Slack": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Swagger
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для экземпляра Swagger:
1. Настройте OAuth на экземпляре Swagger.
2. В соответствии с конфигурацией OAuth укажите значения в JSON файле конфигурации OAuth. См. пример config.json. Ниже приведены примеры значений, которые можно предоставить при загрузке OAuth.
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения OAuth.
VALIDATE_URL
Указывает URL-адрес, используемый для подтверждения лексемы доступа.
Загрузите значение из клиента OAuth.
REFRESH_URL
Определяет URL-адрес, используемый для получения лексем доступа.
Загрузите значение из клиента OAuth.
TOKEN_URL
Предоставляет лексему доступа.
Загрузите значение из клиента OAuth.
AUTH_URL
Указывает конечную точку OAuth для запросов лексем.
Загрузите значение из клиента OAuth.
Укажите информацию заголовка в массиве "oauth2_validate_headers", как показано в примере массива:
{
"oauth2_validate_headers": [
"{\"Authorization\":\"Bearer {access_token}\"}",
"{\"Content-Type\":\"application/json\"}"
]
}
Укажите информацию контекстной области в массиве "oauth2_params_scope", как показано в примере массива:
{
"oauth2_params_scope": [
"{\"READ\":\"READ_PRIVILEGES\"}"
]
}
Укажите needurl в массиве "oauth2_params_other", как показано в его примере:
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
ThingWorx
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера ThingWorx:
1. Сконфигурируйте ThingWorx как поставщик ресурсов, чтобы разрешить ThingWorx отвечать на запросы через протокол OAuth2.
2. Чтобы добавить поставщик OAuth для ThingWorx, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента PingFederate OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из клиента PingFederate OAuth.
BASE_URL
Указывает URL-адрес PingFederate OAuth.
https://<Pingfederate FQDN>:<порт>/as
RESOURCE_URL
Указывает URL-адрес ThingWorx.
Рекомендуется предоставлять RESOURCE_URL во время конфигурирования OAuth. Если не указать RESOURCE_URL, пользователь должен предоставить его при добавлении соединителя OAuth.
https://<Thingworx FQDN>:<порт>/Thingworx
"thingworx": {
"Thingworx": {
"CLIENT_SECRET": "client secret here>",
"CLIENT_ID": "client id here>",
"RESOURCE_URL": "<Thingworx URL in format https://<Thingworx FQDN>:<port>/Thingworx>",
"BASE_URL": "<Pingfederate URL in format https://<Pingfederate FQDN>:<port>/as>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Trello
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для учетной записи Trello:
В настройках задайте подходящие значения следующего параметра:
URL перенаправления - введите URL возврата ThingWorx Flow в разделе Allowed Origins, например https://<хост:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Trello, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CONSUMER_KEY
Указывает ключ потребителя, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из ключей API разработчика Trello.
CONSUMER_SECRET
Значение секрета потребителя.
Загрузите значение из ключей API разработчика Trello.
"trello": {
"Trello": {
"CONSUMER_SECRET": "<client secret here>",
"CONSUMER_KEY": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Windchill
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера Windchill.
2. Чтобы добавить поставщик OAuth для Windchill, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента PingFederate OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из клиента PingFederate OAuth.
BASE_URL
Указывает URL-адрес PingFederate OAuth.
https://<Pingfederate FQDN>:<порт>/as
SCOPE
Ограничивает доступ приложения к учетной записи пользователя, выдавая лексемы доступа на основе предоставленных контекстных областей. Чтобы добавить несколько контекстных областей, разделяйте контекстные области запятой (,).
WINDCHILL_READ, <scope1>, <scope2>
PF_IDP_ADAPTER_ID
Необязательная настройка. Указывает идентификатор адаптера PingFederate IdP из конфигурации. Указывайте только при наличии в PingFederate нескольких адаптеров IdP.
PingFederateAdapterID
RESOURCE_URL
Необязательная настройка. Указывает URL-адрес Windchill.
Рекомендуется предоставлять RESOURCE_URL во время конфигурирования OAuth. Если не указать RESOURCE_URL, пользователь должен предоставить его при добавлении соединителя OAuth.
<протокол>://<Windchill FQDN>:<порт>/Windchill
"windchill": {
"Windchill": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>",
"base_url": "<base url here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Windchill RV&S
При каждом добавлении поставщика OAuth для сервера Windchill RV&S выполните следующие шаги.
2. Чтобы добавить поставщик OAuth для Windchill RV&S, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из клиента PingFederate OAuth.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из клиента PingFederate OAuth.
BASE_URL
Указывает URL-адрес PingFederate OAuth.
https://<Pingfederate FQDN>:<порт>/as
"integrity": {
"integrity": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>",
"base_url": "<base url here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Zendesk
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Zendesk:
1. Создайте приложение Zendesk.
При создании приложения задайте подходящие значения следующих параметров:
Контекстные области - укажите подходящие контекстные области для приложения.
URI перенаправления - введите URL возврата ThingWorx Flow, например https://<имя_хоста:порт>/Thingworx/Oauths/oauth/return.
Следующий видеоролик демонстрирует шаги, необходимые для включения конфигурации OAuth для Zendesk:
2. Чтобы добавить поставщик OAuth для Zendesk, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр
Описание
Значение
CLIENT_ID
Указывает идентификатор клиента, используемый для проверки лексем доступа с сервера авторизации.
Загрузите значение из приложения Zendesk.
CLIENT_SECRET
Секретное значение клиента.
Загрузите значение из приложения Zendesk.
"zendesk": {
"Zendesk": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. Выполните сервис LoadOAuthConfiguration из ThingWorx Composer, чтобы загрузить поставщик OAuth на сервер ThingWorx Flow.
Устранение неисправностей
Сценарий
Решение
Невозможно добавить поставщик OAuth, если в соединителе OAuth используется существующий поставщик OAuth с тем же именем.
* 
Любые другие действительные поставщики OAuth, присутствующие в том же JSON-файле, не выгружаются.
Добавьте уникальное имя поставщика OAuth, а затем загрузите конфигурацию OAuth.
Например, если Gmail-1 в конфигурации OAuth уже существует, добавьте Gmail-2 в JSON-файл конфигурации OAuth, как показано в следующем примере кода:
{
"google_gmail": {
"Gmail-1": {
"CLIENT_ID": "<client id for Gmail - 1 account here>",
"CLIENT_SECRET": "<client secret for Gmail - 1 account here>"
},
"Gmail-2": {
"CLIENT_ID": "<client id for Gmail - 2 account here>",
"CLIENT_SECRET": "<client secret for Gmail - 2 account here>"
}
}
}
ИЛИ
Удалите любые соединители, которые используют существующий поставщик OAuth, выгрузите поставщик OAuth еще раз, а затем перезапустите сервис OAuth.
Чтобы перезапустить сервис OAuth, выполните следующие шаги:
a. В системе, где установлен ThingWorx Flow, запустите командную строку как администратор.
b. Выполните команду pm2 ls, чтобы получить номер сервиса OAuth.
c. Выполните команду pm2 restart <номер_сервиса_OAuth>, чтобы перезапустить сервер OAuth.
ИЛИ
В системе, где установлен ThingWorx Flow, запустите командную строку как администратор и выполните команду pm2 restart flow-oauth-server, чтобы перезапустить сервер OAuth.
Было ли это полезно?