OAuth の設定とロード
サードパーティサービスまたはユーティリティ用の OAuth コネクタを作成する前に、その OAuth プロバイタを ThingWorx Flow サーバーにロードしなければなりません。サンプル OAuth コンフィギュレーション JSON ファイルのテンプレートは、ThingWorx Composer の WorkflowSubsystem にある 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>" } } }
|
ThingWorx Flow は以下のサービスとユーティリティで OAuth をサポートしています。
サービスおよびユーティリティ用の OAuth の設定とロード
Azure
Azure アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ 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>"
}
}
Bitly
Bitly アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、リダイレクト 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>"
}
}
Box
Box アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ 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>"
}
}
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>"
}
}
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>"
}
}
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>"
}
}
Excel Online、Office 365、OneDrive
Excel Online、Office 365、または OneDrive アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ 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>" } } |
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>"
}
}
Gitlab
Gitlab アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - api、read_user、read_repository、read_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>"
}
}
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>" } } | |
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>"
}
}
JIRA
JIRA アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - 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>"
}
}
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\"}"
]
}
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_URL、REFRESH_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_URL、REFRESH_URL、TOKEN_URL) のいずれかを指定する必要があります。 |
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 | | <スコープ 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>"
}
}
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\"}"
]
}
Salesforce
Salesforce アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - アプリケーションに対して適切な範囲を指定します。
▪ コールバック 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>"
}
}
次のビデオでは、Salesforce の OAuth コンフィギュレーションを有効にするために必要な手順について説明しています。
ServiceMax
ServiceMax アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - アプリケーションに対して適切な範囲を指定します。
▪ コールバック 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>"
}
}
Slack
Slack アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - アプリケーションに対して適切な範囲を指定します。
▪ リダイレクト 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>"
}
}
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\"}"
]
}
ThingWorx
ThingWorx サーバー用の OAuth プロバイダを追加するたびに、次の手順を実行します。
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>"
}
}
Trello
Trello アカウント用の OAuth プロバイダを追加するたびに、次の手順を実行します。
設定で、次のパラメータの適切な値を設定します。
▪ リダイレクト URL - 「Allowed Origins」で、https://<ホスト名:ポート>/Thingworx/Oauths/oauth/return などの ThingWorx Flow 戻り URL を入力します。
2. Trello 用の OAuth プロバイダを追加するには、以下の値を OAuth コンフィギュレーション JSON ファイルに追加します。
パラメータ | 説明 | 値 |
---|
CONSUMER_KEY | 認証サーバーでアクセストークンを検証するときに使用するコンシューマーキーを指定します。 | |
CONSUMER_SECRET | コンシューマーシークレットの値。 | |
"trello": {
"Trello": {
"CONSUMER_SECRET": "<client secret here>",
"CONSUMER_KEY": "<client id here>"
}
}
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>"
}
}
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>"
}
}
Zendesk
Zendesk アプリケーション用の OAuth プロバイダを追加するたびに、次の手順を実行します。
このアプリケーションを作成する際、以下のパラメータを適切な値に設定します。
▪ スコープ - アプリケーションに対して適切な範囲を指定します。
▪ リダイレクト 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>"
}
}
トラブルシューティング
シナリオ | ソリューション |
---|
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 サーバーを再起動します。 |