接続プロパティおよびサンプル・コード
アダプタ定義ドキュメントのconnectionセクションで、アダプタがアプリケーションに接続する方法を指定します。
connectionPropertiesセクションのプロパティ
connectionPropertiesでは、単一の接続プロパティの動作を定義します。 次の点に留意してください。
-
connectionProperties内のプロパティの各コレクションは、単一の接続プロパティに関連しています。統合開発者が接続を構成すると、接続プロパティはOracle Integrationのフィールドとして表示されます。 たとえば、
displayNameプロパティはユーザー・インタフェースに表示されるプロパティ名、shortDescriptionプロパティは簡単なヒント・テキストなどを定義します。プロパティのコレクションは、接続プロパティの動作をモデル化します。
-
Oracle Integrationの接続プロパティが呼出し接続、トリガー接続またはその両方に表示されるかどうかを指定できます。
-
次のプロパティの多くは、メタデータを定義します。 ただし、機能性特性に特に注意してください:
required、hidden、およびscope。
connectionPropertiesには、次のプロパティが含まれます。
| プロパティ | 説明 |
|---|---|
|
|
接続プロパティの一意の名前。 値にはスペースを含めないでください。 この値は、Oracle Integrationユーザー・インタフェースには表示されません。 ただし、この値を使用して、アダプタ定義ドキュメント内からプロパティを参照します。 |
|
|
接続プロパティの名前を示します。 この値は、統合開発者がアダプタを使用して接続を作成するときに、Oracle Integrationユーザー・インタフェースでプロパティの名前として表示されます。 「接続プロパティの名前または説明の更新」を参照してください。 |
|
|
接続プロパティの短いヒント・テキスト。 このテキストは、Oracle Integrationユーザー・インタフェースに表示されます。 |
|
|
プロパティの説明。 この説明は、更新または変更するプロパティを選択すると、Oracle Integrationユーザー・インタフェースに表示されます。 |
|
|
プロパティのデータ型。 次のデータ型がサポートされています:
|
|
|
アダプタにプロパティの値が必要かどうかを示す アダプタでは、プロパティの値が必要であり、値が常に同じである場合があります。 このような場合は、 |
|
|
プロパティが非表示であることを示す |
|
|
|
|
|
プロパティのデフォルト値。 この値は、Oracle Integrationユーザー・インタフェースのプロパティ・フィールドに表示されます。 |
|
|
接続プロパティが適用される接続のタイプ:
たとえば、10個の接続プロパティ、トリガー接続に5個、呼出し接続に5個を構成できます。 |
|
|
ドロップダウン・リストに事前定義済の値リストを指定します。 統合開発者は、Oracle Integrationで接続を作成するときに値から選択できます。 optionsプロパティの下に、次のプロパティの1つ以上のセットを追加します:
「ドロップダウン・リストを使用した接続プロパティの作成」を参照してください。 |
securityPoliciesセクションのプロパティ
securityPoliciesで、接続定義に対して1つ以上のセキュリティ・ポリシーを定義します。 セキュリティ・ポリシーは、接続が保護されたエンドポイントおよびOracle Integrationにアクセスする方法を定義します。
PostmanコレクションまたはOpenAPIドキュメントをアダプタ定義ドキュメントに変換すると、Rapid Adapter BuilderによってAPIに関するセキュリティ・ポリシー情報が収集され、securityPoliciesセクションに入力されます。 必要に応じて、セキュリティ・ポリシーの詳細を更新できます。
Rapid Adapter Builderでは、いくつかの拡張可能なポリシーなど、多数の管理対象セキュリティ・ポリシーがサポートされています。 管理対象セキュリティ・ポリシーのプロパティを追加および変更できません。 ただし、セキュリティ・ポリシー・プロパティの非表示やデフォルト値の指定、管理対象セキュリティ・ポリシーの表示名と説明の変更など、多数の更新を行うことができます。 「接続定義のセキュリティ・ポリシーの理解」を参照してください。
各接続定義で1つ以上のセキュリティ・ポリシーを定義できます。 各セキュリティ・ポリシーには、1つ以上のセキュリティ・プロパティを含めることができます。 securityPropertiesセクションのエントリごとに、次のプロパティ・セットを定義する必要があります。 これらのプロパティは、接続の構成時に統合開発者が対話するフィールドの動作を記述します。
securityPoliciesには、次のプロパティが含まれます。
| プロパティ | 説明 |
|---|---|
|
|
セキュリティ・ポリシーの使用:
|
|
|
セキュリティ・ポリシーの説明。 |
|
|
セキュリティ・ポリシーの名前。 この値は、統合開発者がアダプタを使用して接続を作成するときに、Oracle Integrationユーザー・インタフェースでセキュリティ・ポリシーの名前として表示されます。 |
|
|
セキュリティ・ポリシーのロール:
ノート: 接続プロパティとセキュリティ・ポリシーの両方にスコープを指定します。 たとえば、起動接続には4つの接続プロパティを定義し、トリガー接続には6つの接続プロパティを定義できます。 同様に、起動接続には2つのセキュリティ・ポリシーを定義し、トリガー接続には1つのセキュリティ・ポリシーを定義できます。 |
|
|
保護されたエンドポイントへのアクセスに使用されるセキュリティ・ポリシーの名前。 アダプタは、次のポリシーの1つ以上を公開できます:
|
|
|
|
|
|
|
|
|
各セキュリティ・ポリシーのプロパティ。 ほとんどのセキュリティ・ポリシーには、これらのプロパティのセットがいくつか必要です。 定義した各プロパティは、接続セキュリティを構成するためにページに表示されます。 統合開発者は、各プロパティに適切な値を指定する必要があります。
これらの各プロパティ・セキュリティ・ポリシーの事前定義済の値を確認するには、該当するリンクを参照してください:
|
|
|
これらのポリシーのデフォルト実装は、RFC 6749互換です。 ただし、実際には、多くの実装はRFCガイドラインとは異なります。 必要に応じて、次のOAuthポリシーを拡張できます: |
サンプル・コード: 接続定義の定義
次のコード・サンプルは、OAuth認可コード資格証明認証メカニズムを使用して、Squareアプリケーションの接続定義を定義します。
このサンプルには、1つのconnectionPropertiesセクション、1つのsecurityPoliciesセクションおよび複数のsecurityPropertiesセクションが含まれています。
"connection": {
"connectionProperties": [
{
"name": "baseURL",
"type": "URL",
"displayName": "Base URL",
"description": "Base URL of the endpoints",
"shortDescription": "Base URL of the endpoints",
"default": "https://connect.squareupsandbox.com/v2",
"required": true,
"hidden": true,
"scope": [
"ACTION"
]
}
],
"securityPolicies": [
{
"type": "managed",
"policy": "OAUTH_AUTHORIZATION_CODE_CREDENTIALS",
"description": "Authorization Policy",
"displayName": "Authorization Policy",
"scope": "ACTION",
"securityProperties": [
{
"name": "oauth.client.id",
"displayName": "Square Application ID",
"description": "Square Application ID",
"shortDescription": "Square Application ID",
"hidden": false,
"required": true
},
{
"name": "oauth.client.secret",
"displayName": "Square Application Secret",
"description": "Square Application Secret",
"shortDescription": "Square Application Secret",
"hidden": false,
"required": true
},
{
"name": "oauth.auth.code.uri",
"default": "https://connect.squareupsandbox.com/oauth2/authorize",
"hidden": true,
"required": true
},
{
"name": "oauth.access.token.uri",
"default": "https://connect.squareupsandbox.com/oauth2/token",
"hidden": true,
"required": true
},
{
"name": "oauth.scope",
"default": "CUSTOMERS_WRITE ORDERS_WRITE INVOICES_WRITE CUSTOMERS_READ",
"hidden": true,
"required": true
},
{
"name": "clientAuthentication",
"default": "client_credentials_in_body",
"hidden": true,
"required": true
}
],
"authExtension": "flow:authExtension"
}
],
"test": "flow:testConnectionFlow"
}
サンプル・コード: 接続プロパティの定義
次のサンプル・コードは、2つの接続プロパティを定義する方法を示しています。 サンプルの最初の部分は編集可能なプロパティの定義を示し、2番目の部分は非表示プロパティの定義を示しています。
"connectionProperties": [
{
"name": "accountid",
"type": "string",
"displayName": "Account ID",
"shortDescription": "Enter the account id.",
"required": false,
"hidden": false,
"scope": [
"ACTION"
]
},
{
"name": "baseURL",
"type": "URL",
"displayName": "Base URL",
"shortDescription": "Ensure that this value corresponds to the type selected.",
"required": false,
"hidden": true,
"default": "https://connect.abcxyz.com/v2",
"scope": "ACTION"
}
]
サンプル・コード: 接続定義内のセキュリティ・ポリシーの定義
次のサンプル・コードは、セキュリティ・ポリシーの定義方法を示しています。 この場合、接続は2つの管理対象セキュリティ・ポリシーをサポートし、それぞれに表示可能なセキュリティ・プロパティと非表示のセキュリティ・プロパティの組合せを持ちます。
"connection": {
"connectionProperties": [
],
"securityPolicies": [
{
"type": "managed",
"policy": "OAUTH_AUTHORIZATION_CODE_CREDENTIALS",
"description": "ABC Company Authorization Code Policy",
"displayName": "ABC Company Authorization Code Policy",
"scope": "ACTION",
"securityProperties": [
{
"name": "oauth.client.id",
"displayName": "ABC Company Client ID",
"description": "ABC Company Client ID",
"shortDescription": "ABC Company Client ID",
"hidden": false,
"required": true
},
{
"name": "oauth.client.secret",
"displayName": "ABC Company Client Secret",
"description": "ABC Company Client secret",
"shortDescription": "ABC Company Client secret",
"hidden": false,
"required": true
},
{
"name": "oauth.auth.code.uri",
"default": "https://login.ABC Companyonline.com/common/oauth2/v2.0/authorize",
"hidden": true,
"required": true
},
{
"name": "oauth.access.token.uri",
"default": "https://login.ABC Companyonline.com/common/oauth2/v2.0/token",
"hidden": true,
"required": true
},
{
"name": "oauth.scope",
"default": "Tasks.ReadWrite offline_access",
"hidden": true,
"required": true
},
{
"name": "clientAuthentication",
"default": "client_credentials_as_header",
"hidden": true,
"required": true
}
]
},
{
"type": "managed",
"policy": "OAUTH_RESOURCE_OWNER_PASSWORD_CREDENTIALS",
"description": "ABC Company Resource Owner Password Credentials Policy",
"displayName": "ABC Company Resource Owner Password Credentials Policy",
"scope": "ACTION",
"securityProperties": [
{
"name": "oauth.access.token.uri",
"default": "https://login.ABC Companyonline.com/4a4a30f3-247a-47b6-acef-55ba707ea6df/oauth2/v2.0/token",
"hidden": false,
"required": true
},
{
"name": "oauth.client.id",
"displayName": "ABC Company Client ID",
"description": "ABC Company Client ID",
"shortDescription": "ABC Company Client ID",
"hidden": false,
"required": true
},
{
"name": "oauth.client.secret",
"displayName": "ABC Company Client Secret",
"description": "ABC Company Client secret",
"shortDescription": "ABC Company Client secret",
"hidden": false,
"required": true
},
{
"name": "username",
"displayName": "User Name",
"description": "User Name",
"shortDescription": "User Name",
"hidden": false,
"required": true
},
{
"name": "password",
"displayName": "Password",
"description": "Password",
"shortDescription": "Password",
"hidden": false,
"required": true
},
{
"name": "oauth.scope",
"default": "Tasks.ReadWrite offline_access",
"hidden": true,
"required": true
},
{
"name": "oauth.request.content.type",
"default": "application/x-www-form-urlencoded",
"hidden": true,
"required": true
},
{
"name": "clientAuthentication",
"default": "client_credentials_as_header",
"hidden": true,
"required": true
}
]
}
],
"test": "flow:testConnectionFlow"
},