OAuth の設定とロード
サードパーティサービスまたはユーティリティ用の OAuth コネクタを作成する前に、その OAuth プロバイタを ThingWorx Flow サーバーにロードしなければなりません。サンプル OAuth コンフィギュレーション JSON ファイルのテンプレートは、ThingWorx ComposerWorkflowSubsystem にある LoadOAuthConfiguration サービスのパラメータ oauthConfigurations にあります。OAuth のロードプロセスの概要を以下に示します。
1. サードパーティシステムでアプリケーションを作成します。
2. このアプリケーションからクライアント ID とクライアントシークレットのペアを取得し、サンプル OAuth コンフィギュレーション JSON ファイルに追加します。OAuth コンフィギュレーションに必要なその他の任意のパラメータの値を追加します。
サードパーティサービスまたはユーティリティ用の OAuth 設定を除去するには、その JSON オブジェクト全体を除去しなければなりません。たとえば、Gmail 用の OAuth 設定を除去するには、次の JSON オブジェクトを除去します。
"google_gmail": {
"Gmail": {
"CLIENT_ID": "<Client ID>"
"CLIENT_SECRET": "<Secret>"
}
},
サードパーティサービスまたはユーティリティ用の JSON オブジェクトを除去し、その OAuth 設定を後で追加する場合は、サンプル OAuth コンフィギュレーション JSON ファイルテンプレートから JSON コードスニペットを追加し、OAuth コンフィギュレーションに必要な値を指定します。
* 
サンプルコンフィギュレーションファイルには、サードパーティサービスまたはユーティリティを表すコネクタコンフィギュレーション値が含まれています。たとえば、Gmail の場合、JSON オブジェクト内の google_gmail を修正しないでください。Gmail 用の OAuth プロバイダを複数追加するには (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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
ThingWorx Flow は以下のサービスとユーティリティで OAuth をサポートしています。
Azure
Bitly
Box
Github
Gitlab
Gmail
HTTP
JIRA
OData
OSLC
SOAP
Slack
Trello
サービスおよびユーティリティ用の OAuth の設定とロード
Azure
Azure アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Azure アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
API のアクセス許可 - Azure Service Management。
リダイレクト URI - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL を入力します。
2. Azure 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Azure アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Azure アプリケーションから値を取得します。
"azure": {
"Azure": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Bitly
Bitly アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Bitly アプリケーションを作成します。
このアプリケーションを作成する際、リダイレクト URI を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL に設定します。
2. Bitly 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Bitly アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Bitly アプリケーションから値を取得します。
"bitly": {
"Bitly": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Box
Box アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Box アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
Application Scopes - すべての範囲を選択します。
リダイレクト URI - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL を入力します。
次のビデオでは、Box の OAuth コンフィギュレーションを有効にするために必要な手順について説明しています。
2. Box 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Box アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Box アプリケーションから値を取得します。
"box": {
"Box": {
"CLIENT_SECRET": "client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Dialogflow
Dialogflow アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
アプリケーションを作成する際、リダイレクト URI を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL として指定します。
Dialogflow アプリケーション用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Google アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Google アプリケーションから値を取得します。
"apiai": {
"Dialogflow": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
2. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Dropbox
Dropbox アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Dropbox アプリケーションを作成します。このリンクにより、Dropbox OAuth に関する情報が表示されます。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
API - 「Dropbox API」を選択します。
アクセスのタイプ - 「Full Dropbox」を選択します。
リダイレクト URI - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL を入力します。
2. Dropbox 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Dropbox アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Dropbox アプリケーションから値を取得します。
"dropbox": {
"Dropbox": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Dynamics 365 CRM
Dynamics 365 CRM アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、リダイレクト URI を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL に設定します。
2. Dynamics 365 CRM 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Azure アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Azure アプリケーションから値を取得します。
"dynamics365": {
"Dynamics365": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Excel Online、Office 365、OneDrive
Excel Online、Office 365、または OneDrive アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Azure アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
API のアクセス許可 - Azure Service Management。
リダイレクト URI - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL を入力します。
2. Excel Online、Office 365、または OneDrive 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Github
GitHub アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、認証コールバック URL を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return フォーマットで ThingWorx Flow 戻り URL に設定します。
2. Github 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Github アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Github アプリケーションから値を取得します。
"github": {
"Github": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Gitlab
Gitlab アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. GitLab アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - apiread_userread_repositoryread_registry
リダイレクト URI - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. Gitlab 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
GitLab アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
GitLab アプリケーションから値を取得します。
"gitlab": {
"Gitlab": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Gmail、Google Drive、Google フォーム、Google スプレッドシート、Google ToDo リスト、Google Translator、YouTube
Google アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
アプリケーションを作成する際、リダイレクト URI を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL として指定します。
Google アプリケーション用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
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 フォーム
"google_form": {
"Google Form": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google スプレッドシート
"google_sheet": {
"Google Sheet": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
Google ToDo リスト
"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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
HTTP
HTTP サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. HTTP サーバー上で OAuth を設定します。
2. HTTP サーバー用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
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 を指定します。
OAuth クライアントから値を取得します。
NEED_RESOURCE_URL
[必須]
OAuth コネクタを追加する際に RESOURCE_URL を指定する必要があるかどうかを指定します。
これを true に設定した場合、OAuth プロバイダを追加する際に RESOURCE_URL の値を指定する必要があります。
これを false に設定した場合、OAuth コネクタを追加する際に RESOURCE_URL の値を指定する必要があります。
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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
JIRA
JIRA アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. JIRA アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - view Jira issue data (read:jira-work)create and manage issues (write:jira-work)view user profiles (read:jira-user)
コールバック URL - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. JIRA 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
JIRA アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
JIRA アプリケーションから値を取得します。
"jira": {
"JIRA": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
OData
OData インスタンス用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. OData インスタンスで OAuth を設定します。
2. OAuth コンフィギュレーションに従って、OAuth コンフィギュレーション JSON ファイルに値を指定します。サンプルの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\"}"
]
}
以下のサンプル配列に示すように、配列 "oauth2_params_other" で needurl 情報を指定します。
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
OSLC
OSLC サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
2. OSLC 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
OAuth クライアントから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
OAuth クライアントから値を取得します。
BASE_URL
OAuth URL を指定します。
中央認証サーバーから値を取得します。
OAUth クライアントが PingFederate の場合、この URL は次のフォーマットで指定する必要があります。
https://<PingFederate FQDN>:<ポート>/as
VALIDATE_URL
アクセストークンの検証に使用する URL を指定します。
中央認証サーバーから値を取得します。
例: /introspect.oauth2
RESOURCE_URL
OSLC サーバー URL を指定します。
RESOURCE_URL を指定しない場合、OAUTH_URLREFRESH_URL、および TOKEN_URL の値を指定する必要があります。
中央認証サーバーから値を取得します。
OAUTH_URL
トークンリクエスト用の OAuth エンドポイントを指定します。
中央認証サーバーから値を取得します。
例: /authorization.oauth2
REFRESH_URL
アクセストークンを取得するために使用する URL を指定します。
中央認証サーバーから値を取得します。
例: /token.oauth2
TOKEN_URL
アクセストークンを指定します。
中央認証サーバーから値を取得します。
例: /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_URLREFRESH_URLTOKEN_URL) のいずれかを指定する必要があります。
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
SAP OData
SAP OData サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
OAuth を設定する際、リダイレクト URI を https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL として指定します。
2. SAP OData 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
SAP OAuth クライアントから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
SAP OAuth クライアントから値を取得します。
BASE_URL
中央認証サーバー URL を指定します。
https://<ホスト名:ポート>/sap/bc/sec/oauth2
SCOPE
スコープのスペース区切りリスト。詳細については、OAuth のスコープを参照してください。
<スコープ 1> <スコープ 2>
RESOURCE_URL
SAP リソース URL を指定します。
OAuth を設定するときに RESOURCE_URL を指定することをお勧めします。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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
SOAP
SOAP インスタンス用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. SOAP インスタンスで OAuth を設定します。
2. OAuth コンフィギュレーションに従って、OAuth コンフィギュレーション JSON ファイルに値を指定します。サンプルの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\"}"
]
}
以下のサンプル配列に示すように、配列 "oauth2_params_other" で needurl 情報を指定します。
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Salesforce
Salesforce アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Salesforce アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - アプリケーションに対して適切な範囲を指定します。
コールバック URL - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. Salesforce 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Salesforce アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Salesforce アプリケーションから値を取得します。
"salesforce": {
"Salesforce": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
次のビデオでは、Salesforce の OAuth コンフィギュレーションを有効にするために必要な手順について説明しています。
ServiceMax
ServiceMax アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. ServiceMax にログインした後、ServiceMax アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - アプリケーションに対して適切な範囲を指定します。
コールバック URL - https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. ServiceMax 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Servicemax アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Servicemax アプリケーションから値を取得します。
"servicemax": {
"Servicemax": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Slack
Slack アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Slack アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - アプリケーションに対して適切な範囲を指定します。
リダイレクト URL - ThingWorx Flowhttps://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの 戻り URL を入力します。
2. Slack 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Slack アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Slack アプリケーションから値を取得します。
"slack": {
"Slack": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Swagger
Swagger インスタンス用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Swagger インスタンスで OAuth を設定します。
2. OAuth コンフィギュレーションに従って、OAuth コンフィギュレーション JSON ファイルに値を指定します。サンプルの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\"}"
]
}
以下のサンプル配列に示すように、配列 "oauth2_params_other" で needurl 情報を指定します。
{
"oauth2_params_other": [
"{\"needurl\":\"true\"}"
]
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
ThingWorx
ThingWorx サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. ThingWorx が OAuth2 プロトコルを介してリクエストに応答できるように、ThingWorx をリソースプロバイダとして設定します。
2. ThingWorx 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
PingFederate OAuth クライアントから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
PingFederate OAuth クライアントから値を取得します。
BASE_URL
PingFederate OAuth URL を指定します。
https://<PingFederate FQDN>:<ポート>/as
RESOURCE_URL
ThingWorx URL を指定します。
OAuth を設定するときに RESOURCE_URL を指定することをお勧めします。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. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Trello
Trello アカウント用の OAuth プロバイダを追加するたびに、次の手順を実行します。
設定で、次のパラメータの適切な値を設定します。
リダイレクト URL - 「Allowed Origins」で、https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. Trello 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CONSUMER_KEY
認証サーバーでアクセストークンを検証するときに使用するコンシューマーキーを指定します。
Trello 開発者 API キーから値を取得します。
CONSUMER_SECRET
コンシューマーシークレットの値。
Trello 開発者 API キーから値を取得します。
"trello": {
"Trello": {
"CONSUMER_SECRET": "<client secret here>",
"CONSUMER_KEY": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Windchill
Windchill サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
2. Windchill 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
PingFederate OAuth クライアントから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
PingFederate OAuth クライアントから値を取得します。
BASE_URL
PingFederate OAuth URL を指定します。
https://<PingFederate FQDN>:<ポート>/as
SCOPE
権限が付与されている範囲に基づいてアクセストークンを発行することにより、ユーザーのアカウントに対するアプリケーションのアクセスを制限します。複数の範囲を追加するには、コンマ (,) を使用して範囲を区切ります。
WINDCHILL_READ, <scope1>, <scope2>
PF_IDP_ADAPTER_ID
オプション。PingFederate IdP アダプタ ID をコンフィギュレーションから指定します。PingFederate に複数の IdP アダプタがある場合にのみ指定します。
PingFederateAdapterID
RESOURCE_URL
オプション。Windchill URL を指定します。
OAuth を設定するときに RESOURCE_URL を指定することをお勧めします。RESOURCE_URL を指定しない場合、ユーザーが OAuth コネクタの追加時に指定しなければなりません。
<プロトコル>://<Windchill FQDN>:<ポート>/Windchill
"windchill": {
"Windchill": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>",
"base_url": "<base url here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Windchill RV&S
Windchill RV&S サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
2. Windchill RV&S 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
PingFederate OAuth クライアントから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
PingFederate OAuth クライアントから値を取得します。
BASE_URL
PingFederate OAuth URL を指定します。
https://<PingFederate FQDN>:<ポート>/as
"integrity": {
"integrity": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>",
"base_url": "<base url here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
Zendesk
Zendesk アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
1. Zendesk アプリケーションを作成します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
スコープ - アプリケーションに対して適切な範囲を指定します。
リダイレクト URL - ThingWorx Flowhttps://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの 戻り URL を入力します。
次のビデオでは、Zendesk の OAuth コンフィギュレーションを有効にするために必要な手順について説明しています。
2. Zendesk 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ
説明
CLIENT_ID
認証サーバーでアクセストークンを検証するときに使用するクライアント識別子を指定します。
Zendesk アプリケーションから値を取得します。
CLIENT_SECRET
クライアントシークレットの値。
Zendesk アプリケーションから値を取得します。
"zendesk": {
"Zendesk": {
"CLIENT_SECRET": "<client secret here>",
"CLIENT_ID": "<client id here>"
}
}
3. ThingWorx Composer から LoadOAuthConfiguration サービスを実行して、OAuth プロバイダを ThingWorx Flow サーバーにロードします。
トラブルシューティング
シナリオ
ソリューション
OAuth コネクタが使用している既存の OAuth プロバイダと同じ名前の OAuth プロバイダを追加することができない。
* 
同じ JSON ファイルに存在するほかの有効な OAuth プロバイダはアップロードされません。
一意の OAuth プロバイダ名を追加してから、OAuth コンフィギュレーションをロードします。
たとえば、OAuth コンフィギュレーションに Gmail-1 が存在する場合、次のコード例に示すように Gmail-2 を OAuth コンフィギュレーション 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>"
}
}
}
または
既存の OAuth プロバイダを使用するコネクタをすべて削除し、OAuth プロバイダを再度アップロードしてから、OAuth サービスを再起動します。
以下の手順を実行して OAuth サービスを再起動します。
a. ThingWorx Flow がインストールされているシステムで、管理者としてコマンドプロンプトを開きます。
b. pm2 ls コマンドを実行して OAuth サービス番号を取得します。
c. pm2 restart <OAuth サービス番号> コマンドを実行して OAuth サーバーを再起動します。
または
ThingWorx Flow がインストールされているシステムで、管理者としてコマンドプロンプトを開き、pm2 restart flow-oauth-server コマンドを実行して OAuth サーバーを再起動します。
これは役に立ちましたか?