Конфигурирование и загрузка соединителей 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>" } } }
|
ThingWorx Flow поддерживает OAuth для следующих сервисов и утилит:
Конфигурирование и загрузка соединителей OAuth для сервисов и утилит
Azure
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
Bitly
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
Box
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
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>"
}
}
Dropbox
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Dropbox:
При создании приложения задайте подходящие значения для следующих параметров:
▪ 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>"
}
}
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>"
}
}
Excel Online, Office 365, OneDrive
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения Excel Online, Office 365 или OneDrive.
При создании приложения задайте подходящие значения следующих параметров:
▪ Разрешения 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>" } } |
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>"
}
}
Gitlab
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
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>" } } | |
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>"
}
}
JIRA
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
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\"}"
]
}
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). |
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 | | <Контекстная область 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>"
}
}
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\"}"
]
}
Salesforce
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
Следующий видеоролик демонстрирует шаги, необходимые для включения конфигурации OAuth для Salesforce:
Servicemax
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
Slack
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
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\"}"
]
}
ThingWorx
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для сервера ThingWorx:
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>"
}
}
Trello
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для учетной записи Trello:
В настройках задайте подходящие значения следующего параметра:
▪ URL перенаправления - введите URL возврата ThingWorx Flow в разделе Allowed Origins, например https://<хост:порт>/Thingworx/Oauths/oauth/return.
2. Чтобы добавить поставщик OAuth для Trello, укажите следующие значения в JSON-файле конфигурации OAuth:
Параметр | Описание | Значение |
---|
CONSUMER_KEY | Указывает ключ потребителя, используемый для проверки лексем доступа с сервера авторизации. | |
CONSUMER_SECRET | Значение секрета потребителя. | |
"trello": {
"Trello": {
"CONSUMER_SECRET": "<client secret here>",
"CONSUMER_KEY": "<client id here>"
}
}
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>"
}
}
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>"
}
}
Zendesk
Выполняйте следующие шаги каждый раз, когда нужно добавить поставщик OAuth для приложения 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>"
}
}
Устранение неисправностей
Сценарий | Решение |
---|
Невозможно добавить поставщик 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. |