機械翻訳について

認可コードを使用したDeveloper APIのコール

完了するための前提条件

Oracle Integration Developer APIを認可コードでコールする前に、機密クライアント・アプリケーションを作成し、その他の前提条件を実行する必要があります。

機密クライアント・アプリケーションを構成してロールを割り当てるには、OCIテナントおよびドメイン管理者である必要があります。

手順は次を参照してください。
  1. アイデンティティ・ドメインにアクセスします。
  2. 付与タイプの前提条件を構成します。

必要な情報

次に、クライアントを介してリクエストを送信するために必要な情報を示します。
必要な情報 場所
ユースケースに応じたデザインタイムURLまたはランタイムURL 「設計時またはランタイムURLを使用しますか。」を参照してください。

デザインタイムURLの例:

https://design-integration-region.ocp.oraclecloud.com/

ランタイムURLの例:

https://myInstance-integration-region.ocp.oraclecloud.com/

ドメイン・ホスト

アイデンティティ・ドメイン・ホストは、現在のドメインの「ドメインURL」フィールドから取得できます。 ドメインにアクセスする手順は、アイデンティティ・ドメインへのアクセスを参照してください。

「アイデンティティ」、「ドメイン」、「デフォルト・ドメイン」を選択してアクセスする「デフォルト・ドメイン」ページ、「ドメインURL」フィールドが強調表示された状態

クライアントID

クライアント・シークレット

構成した機密アプリケーションのクライアントIDを追加します。

機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。

スコープ

機密アプリケーションに追加した範囲と同じ範囲を追加します。 機密アプリケーションに追加したスコープは、機密アプリケーションの詳細の「トークン発行ポリシー」にあります。

機密アプリケーションを検索するには、アイデンティティ・ドメインにアクセスし、「統合アプリケーション」を選択してアプリケーションを選択し、OAuth構成「クライアントID」および「クライアント・シークレット」を探します。 手順については、アイデンティティ・ドメインへのアクセスを参照してください。

このスコープにより、ユーザーは統合エンドポイントと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/

統合インスタンス

統合インスタンスの名前。

リダイレクトURL

リダイレクトURLは、機密クライアントの「認可」領域にあります。

承認コードのPostmanの構成

「Postman Configuration」ページで「Authorization」タブが選択されている場合、上部から下部に「Grant Type」、「Callback URL」、「Auth URL」、「Access Token URL」、「Client ID」、「Client Secret」、「Scope」のフィールドがあります。
  1. ユースケースに応じて、デザインタイム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を構成するには:
    1. リクエストで、「設定」をクリックし、「認可ヘッダーに従う」を有効にします。「Postman Settings」タブが選択され、「Follow Authorization」ヘッダーが強調表示されて「ON」に設定されます。
  2. 必須フィールドに入力します。
    フィールド 入力内容

    認可タイプ

    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を追加します。

    クライアント・シークレット

    構成した機密アプリケーションのクライアント・シークレットを追加します。

    スコープ

    機密アプリケーションに追加した範囲と同じ範囲を追加します。

    クライアント認証

    ここで何でも選べますが、当てはまりません。
  3. 「新規アクセス・トークンの取得」をクリックします。
  4. 「トークンの使用」をクリックします。

    トークンが「ヘッダー」セクションでリクエストに添付されています。

  5. 「送信」をクリックして、APIをコールします。 接続のリストを取得する必要があります。

承認コードのcURLコマンド

  1. ブラウザから、認可コードをリクエストします。 たとえば:
    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」フィールドのホスト名です。「アイデンティティ」、「ドメイン」、「デフォルト・ドメイン」を選択してアクセスする「デフォルト・ドメイン」ページ、「ドメイン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に対する不透明。 リクエストとコールバック間の状態を維持するために使用される値
  2. ユーザーがまだログインしていない場合は、ユーザー資格証明の認証が要求されます。
    認証が成功すると、認可コードと状態が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.
  3. 前述のレスポンスから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。
  4. レスポンスからaccess_tokenおよびrefresh_tokenを取得します。
    {
        "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
        "token_type": "Bearer",
        "expires_in": 3600,
        "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc="
    }
  5. 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オプションを使用して認可ヘッダーを転送する必要があります。これは、デザインタイム・ホストに自動的にリダイレクトされるためです。

アクセス・トークンの更新

アクセス・トークンを更新するには、リフレッシュ・トークンを使用してリクエストを行います。
  1. さらに使用するために、レスポンスから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>'