リソース所有者のパスワード資格証明を使用した開発者APIのコール
完了するための前提条件
リソース所有者パスワード資格証明を使用してOracle Integration Developer APIをコールする前に、機密クライアント・アプリケーションを作成し、その他の前提条件を実行する必要があります。 手順は次を参照してください。- アイデンティティ・ドメインにアクセスします。
- 「クライアント資格証明およびリソース所有者のパスワード資格証明の前提条件」権限付与タイプの前提条件を構成します。
必要な情報
| 必要な情報 | 場所 |
|---|---|
| ユースケースに応じたデザインタイムURLまたはランタイムURL | 「設計時またはランタイムURLを使用しますか。」を参照してください。
デザインタイムURLの例: ランタイムURLの例: |
|
ドメイン・ホスト |
アイデンティティ・ドメイン・ホストは、現在のドメインの「ドメインURL」フィールドから取得できます。 ドメインへのアクセス手順は、アイデンティティ・ドメインへのアクセスを参照してください。 ![]() |
|
クライアントID クライアント・シークレット |
構成した機密アプリケーションのクライアントIDを追加します。 機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成、「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。 |
|
スコープ |
機密アプリケーションに追加した範囲と同じ範囲を追加します。 機密アプリケーションに追加したスコープは、機密アプリケーションの詳細の「トークン発行ポリシー」にあります。 機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成、「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。 このスコープにより、ユーザーは統合エンドポイントとOracle Integration Developer APIの両方にアクセスできます: このスコープにより、ユーザーはOracle Integration Developer APIにのみアクセスできます: |
|
統合インスタンス |
統合インスタンスの名前。 |
リソース所有者のパスワード資格証明のPostmanの構成

- ユースケースに応じて、デザインタイムURLまたはランタイムURLを使用します。 「デザインタイムURLまたはランタイムURLを使用しますか。」を参照してください。
接続用のOracle Integration Developer APIへのコールを含む設計時URLの例:
https://design-integration-region.oraclecloud.com/ic/api/integration/v1/connectionsランタイムURLの例:
https://myInstance-integration-region.oraclecloud.com/ic/api/integration/v1/connectionsノート:
ランタイムURLを使用する場合は、リクエスト設定でPostmanを「Follow Authorization Header」に構成する必要があります。 これは、ランタイムURLを使用してOracle Integration Developer APIをコールすると、Oracle IntegrationによってDeveloper APIの設計時URLにリダイレクトされ、リクエスト・ヘッダーに認可ヘッダーがない場合、コールは失敗するためです。
cURLで、
-lオプションを使用して、リダイレクション中に認可ヘッダーを転送します。ランタイムURLの使用時に認可ヘッダーを転送するようにPostmanを構成するには:- リクエストで、「設定」をクリックし、「認可ヘッダーに従う」を有効にします。

- リクエストで、「設定」をクリックし、「認可ヘッダーに従う」を有効にします。
- 「承認」タブで、必須フィールドに入力します。
フィールド 入力内容 認可タイプ
OAuth 2.0 権限付与タイプ
パスワード資格証明 アクセス・トークンURL
ドメインURLから識別したアイデンティティ・ドメイン・ホストを使用します。 例:
https://<identity_domain_host>/oauth2/v1/tokenクライアントID
構成した機密アプリケーションのクライアントIDを追加します。
クライアント・シークレット
構成した機密アプリケーションのクライアント・シークレットを追加します。
ユーザー名およびパスワード 有効なユーザー名とパスワードを指定します。 これにより、リソース所有者のパスワード資格証明を使用してトークンが生成されます。 スコープ
機密アプリケーションに追加した範囲と同じ範囲を追加します。
クライアント認証
ここで何でも選べますが、当てはまりません。 - 「新規アクセス・トークンの取得」をクリックします。
- ユーザー名とパスワードを入力するように要求されます。
このユーザーは、IAMドメインに作成されている必要があります。 これは別の認証方法であるため、シングル・サインオン・ユーザー名およびパスワードは使用できません。 インスタンスのシングル・サインオンがある場合は、IDCSで同じユーザーをコピーし、ローカルIAMアクセス用に個別のパスワードを保持する必要があります。
- 「トークンの使用」をクリックします。
トークンが「ヘッダー」セクションでリクエストに添付されています。
- 「送信」をクリックして、APIをコールします。 接続のリストを取得する必要があります。
リソース所有者パスワード資格証明のcURLコマンド
- アクセス・クライアントをフェッチするには、ペイロードでユーザー名とパスワードを使用してリクエストします。 たとえば:
curl -i -H 'Authorization: Basic OGQyM...ZDA0Mjcz' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<identity_domain_host>/oauth2/v1/token -d 'grant_type=password&username=sampleUser&password=SamplePassword&scope=https://<Resource_APP_Audience>urn:opc:resource:consumer::all%20offline_access'構文:curl -i -H 'Authorization: Basic <base64Encoded_clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<Identity_Domain_Service_Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<password>&scope=<App_Scope>%20offline_access'説明:<base64-clientid-secret>- ベース64エンコードclientId:ClientSecret<username>- トークンのユーザーを発行する必要があります(serviceinvokerロールである必要があります)。<password>- 上記のユーザーのパスワード<app_scope>- クライアント構成セクションでアプリケーションを作成中に追加されたスコープ(urn:opc:resource:consumer::allで終わる)
- レスポンスから
access_tokenおよびrefresh_tokenを取得します。{ "access_token": "eyJ4NXQjG...dfsdfsFgets2ed", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc=" } - 認可ヘッダーの
access_tokenを使用して、Oracle Integrationトリガー・エンドポイントを起動します。curl --location --request GET 'https://OIC host/OIC endpoint' \ --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed' - アクセス・トークンを更新するには、リフレッシュ・トークンを使用してリクエストします。
- レスポンスから
access_tokenおよびrefresh_tokenを取得して、さらに使用します。 たとえば:
構文:curl -i -H 'Authorization: Basic OGQyM...ZDA0Mjcz' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<Identity_Domain_Service_Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=refresh_token&refresh_token=AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc='curl -i -H 'Authorization: Basic <base64-clientid-secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<Identity_Domain_Service_Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=refresh_token&refresh_token=<refresh_token>'
