認可コードを使用したDeveloper APIのコール
完了するための前提条件
Oracle Integration Developer APIを認可コードでコールする前に、機密クライアント・アプリケーションを作成し、その他の前提条件を実行する必要があります。機密クライアント・アプリケーションを構成してロールを割り当てるには、OCIテナントおよびドメイン管理者である必要があります。
手順は次を参照してください。- アイデンティティ・ドメインにアクセスします。
- 付与タイプの前提条件を構成します。
必要な情報
| 必要な情報 | 場所 |
|---|---|
| ユースケースに応じたデザインタイムURLまたはランタイムURL | 「設計時またはランタイムURLを使用しますか。」を参照してください。
デザインタイムURLの例: ランタイムURLの例: |
|
ドメイン・ホスト |
アイデンティティ・ドメイン・ホストは、現在のドメインの「ドメインURL」フィールドから取得できます。 ドメインにアクセスする手順は、アイデンティティ・ドメインへのアクセスを参照してください。 ![]() |
|
クライアントID クライアント・シークレット |
構成した機密アプリケーションのクライアントIDを追加します。 機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成、「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。 |
|
スコープ |
機密アプリケーションに追加した範囲と同じ範囲を追加します。 機密アプリケーションに追加したスコープは、機密アプリケーションの詳細の「トークン発行ポリシー」にあります。 機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成、「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。 このスコープにより、ユーザーは統合エンドポイントとOracle Integration Developer APIの両方にアクセスできます: このスコープにより、ユーザーはOracle Integration Developer APIにのみアクセスできます: |
|
統合インスタンス |
統合インスタンスの名前。 |
|
リダイレクトURL |
リダイレクトURLは、機密クライアントの「認可」領域にあります。 |
承認コードの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です。 リダイレクトURLは、機密クライアント・アプリケーションの「認可」セクションにあります。 認証URL ドメインURLから識別したアイデンティティ・ドメイン・ホストを使用して、認証URLを作成します。 たとえば: https://<identity_domain_host>/oauth2/v1/authorizeアクセス・トークンURL
ドメインURLから識別したアイデンティティ・ドメイン・ホストを使用します。 たとえば:
https://<identity_domain_host>/oauth2/v1/tokenクライアントID
構成した機密アプリケーションのクライアントIDを追加します。
クライアント・シークレット
構成した機密アプリケーションのクライアント・シークレットを追加します。
スコープ
機密アプリケーションに追加した範囲と同じ範囲を追加します。
クライアント認証
ここで何でも選べますが、当てはまりません。 - 「新規アクセス・トークンの取得」をクリックします。
- 「トークンの使用」をクリックします。
トークンが「ヘッダー」セクションでリクエストに添付されています。
- 「送信」をクリックして、APIをコールします。 接続のリストを取得する必要があります。
承認コードのcURLコマンド
- ブラウザから、認可コードをリクエストします。 たとえば:
GET https://<identity_domain_host>/oauth2/v1/authorize?client_id=<clientID>&response_type=code&redirect_uri=https://app.getpostman.com/oauth2/callback&scope=https://<Resource_APP_Audience>urn:opc:resource:consumer::all%20offline_access&nonce=121&state=12345544構文:
GET https://<identity_domain_host>.identity.oraclecloud.com/oauth2/v1/authorize?client_id=<client-id>&response_type=code&redirect_uri=<client-redirect-uri>&scope=<app_scope>%20offline_access&nonce=<nonce-value>&state=<unique_value>説明:<identity_domain_host>は、現在のドメインの「ドメインURL」フィールドのホスト名です。
<client-id>- 生成されたクライアント・アプリケーションのID-
<client-redirect-uri>- クライアント・アプリケーションのリダイレクトURI。 接続で「承諾の提供」をクリックすると、リダイレクトURLにアクセスする必要があります。 これは、Oracle IntegrationホストのリダイレクトURLです。 形式:https://<Service Console URL>/icsapis/agent/oauth/callback。 これは、Oracle Integrationインスタンスの標準コールバックURLです。 -
<app scope>- 機密アプリケーションに追加したスコープと同じスコープを追加します。このスコープにより、ユーザーは統合エンドポイントとOracle Integration Developer APIの両方にアクセスできます:
https://69415C303.integration.ocp.oraclecloud.com:443urn:opc:resource:consumer::allこのスコープにより、ユーザーはOracle Integration Developer APIにのみアクセスできます:
https://415C303.integration.ocp.oraclecloud.com:443/ic/api/ nonce- リプレイ攻撃を軽減するためのオプションの一意の値state- 推奨、IAMに対する不透明。 リクエストとコールバック間の状態を維持するために使用される値
- ユーザーがまだログインしていない場合は、ユーザー資格証明の認証が要求されます。
認証が成功すると、認可コードと状態がURLに追加されてクライアントURLがリダイレクトされます。
##Response URL https://<redirect_URL>?code=<code_value>=&state=<state_value> ###Client should validate state received is same as one sent in request. - 前述のレスポンスから
code valueを取得し、アクセス・トークンを取得するリクエストを作成します。 たとえば:curl -i -H 'Authorization: Basic MDMx..NGY1' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<identity_domain_host>/oauth2/v1/token -d 'grant_type=authorization_code&code=AQAg...3jKM4Gc=&redirect_uri=https://app.getpostman.com/oauth2/callback構文:curl -i -H 'Authorization: Basic <base64-clientid-secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<identity_domain_host>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=authorization_code&code=<authz-code>&redirect_uri=<client-redirect-uri>説明:<base64-clientid-secret>- BAse 64エンコードclientId:ClientSecret<authz-code>- リダイレクト時にレスポンスとして受信されるコード値。<client-redirect-uri>- クライアント・アプリケーションのリダイレクトURI。
- レスポンスから
access_tokenおよびrefresh_tokenを取得します。{ "access_token": "eyJ4NXQjG...dfsdfsFgets2ed", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc=" } - Oracle IntegrationDeveloper APIを起動するには、認可ヘッダーの
access_tokenを使用します。curl --location --request GET 'https://<OIC_host>/ic/api/integration/v1/connections' \ --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'-
<oic_host>は、設計時URLホスト名またはランタイムURLホスト名です。 「設計時またはランタイムURLを使用しますか。」を参照してください。ノート:
ランタイムURLホスト名を使用する場合は、-lオプションを使用して認可ヘッダーを転送する必要があります。これは、デザインタイム・ホストに自動的にリダイレクトされるためです。
-
アクセス・トークンの更新
- さらに使用するために、レスポンスから
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_Host>.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_Host>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=refresh_token&refresh_token=<refresh_token>'