機械翻訳について

アイデンティティ・ドメイン環境でのOAuth 2.0付与の使用

Oracle Integrationのアイデンティティ・ドメイン環境で、このアダプタでOAuth 2.0権限付与タイプを使用するには、次の前提条件を実行する必要があります。

アイデンティティ・ドメインへのアクセス

  • アイデンティティ・ドメイン管理者資格証明を使用して、Oracle Cloud Infrastructureコンソールにログインします。
    1. ナビゲーション・ペインで、「アイデンティティ&セキュリティ」をクリックします。
    2. 「ドメイン」をクリックします。
    3. コンパートメントを選択します。
    4. アイデンティティ・ドメインをクリックします。


      「ドメイン」ページには、「ドメインの作成」ボタンと表の次の2つの列が表示されます: 名前とドメイン・タイプ。

    5. ナビゲーション・ペインで、「統合アプリケーション」をクリックします。

      これは、権限付与タイプのクライアント・アプリケーションを作成するロケーションです。


      「アイデンティティ・ドメイン」ナビゲーション・ペインにエントリが表示されます。 「概要」オプションが選択されています。 この下には、「概要」、「ユーザー」、「グループ」の選択があります。 動的グループ、統合アプリケーション、Oracle Cloud Services、ジョブ、レポート、セキュリティ、設定、通知およびブランディング。

リソース所有者のパスワード資格証明の前提条件

OAuthとの統合をトリガーするには、クライアント・アプリケーションが必要です。

クライアント・アプリケーションを構成します。

  1. 「Add application」をクリックします。
  2. 機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。


    「アプリケーションの追加」ダイアログには、「アプリケーション・カタログ」、「SAMLアプリケーション」、「モバイル・アプリケーション」、「機密アプリケーション」および「エンタープライズ・アプリケーション」の選択肢が表示されます。

  3. 名前を入力します。 このページの残りのフィールドはオプションであり、無視してかまいません。
  4. 「次へ」をクリックします。
  5. 「クライアント構成」ボックスで、「このアプリケーションをクライアントとして構成」を選択します。
  6. リソース所有者のパスワード資格証明の場合は、「許可された付与タイプ」セクションで「リソース所有者」および「トークンをリフレッシュ」を選択します。


    「クライアント構成」ダイアログに、「このアプリケーションをクライアントとして今すぐ構成する」および「後でスキップする」のラジオ・ボタンが表示されます。 「認可」セクションには、許可された付与タイプが表示されます。 オプションは、リソース所有者、クライアント資格証明、JWTアサーション、リフレッシュ・トークン、デバイス・コード、認可コード、暗黙的、SAML2アサーションおよびTLSクライアント認証で使用できます。

  7. 次のステップを実行します。
    1. 「リダイレクトURL」「ログアウト後リダイレクトURL」および「ログアウトURL」フィールドは空白のままにします。
    2. 「クライアント・タイプ」で、「機密」が選択されていることを確認します。
    3. 複数のフィールドをバイパスし、「トークン発行ポリシー」セクションまで下にスクロールします。
    4. 認可されたリソース」セクションで「特定」を選択します。


      「トークン発行ポリシー」セクションには、「すべて」および「特定」の選択肢を含む「認可済」リソースのサブセクションが表示されます。

    5. 「リソースの追加」チェック・ボックスをクリックします。
    6. 「スコープの追加」をクリックします。
    7. インスタンスのOracle Integrationアプリケーションを検索し、詳細を開くアイコンをクリックします。
    8. 次の詳細が追加された2つのスコープを選択します:
      • urn:opc:resource:consumer::all
      • ic/api/
    9. 「追加」をクリックします。

      スコープが「リソース」セクションに表示されます。


      「リソース」ダイアログに、「スコープの追加」および「削除」のタブが表示されます。 下には、チェック・ボックスと、「リソース」、「保護」および「スコープ」の追加列を表示する列がある表があります。

    10. 「アプリケーション・ロールの追加」チェック・ボックスを無視します。 この選択は必要ありません。
    11. 「次」「終了」の順にクリックします。

    クライアント・アプリケーションの詳細ページが表示されます。

  8. 「アクティブ化」「アプリケーションのアクティブ化」の順にクリックして、使用するクライアント・アプリケーションをアクティブ化します。
  9. 「一般情報」セクションで、クライアントIDおよびクライアント・シークレットの値を書き留めます。 これらの値は、アイデンティティ・ドメインと通信しているサード・パーティ・アプリケーションに必要です。


    「一般情報」セクションには、クライアントIDおよびクライアント・シークレットのフィールドが表示されます。 この下には、「シークレットの表示」および「再生成」のリンクがあります。

クライアント・アプリケーションへのロールの追加

  1. ナビゲーション・ペインで、Oracle Cloud Servicesをクリックします。


    「アイデンティティ・ドメイン」ナビゲーション・ペインにエントリが表示されます。 「概要」オプションが選択されています。 この下には、「概要」、「ユーザー」、「グループ」の選択があります。 動的グループ、統合アプリケーションおよびOracle Cloud Services。

  2. Oracle Integrationインスタンスに対応する特定のアプリケーションを選択します。
  3. ナビゲーション・ペインで、「アプリケーション・ロール」をクリックします。
  4. リソース所有者のパスワード資格証明権限付与タイプの場合は、次を選択します:
    1. ServiceInvokerを展開し、「割当済ユーザー」または「割当済グループ」の横にある「管理」をクリックします。 たとえば、割当済ユーザーをクリックすると、次のようになります:


      「アプリケーション・ロール」ダイアログには、「インポート」および「エクスポート」のボタンが表示されます。 下には、チェック・ボックスの列と、「名前」および「説明」の追加列を含む表があります。 「名前」列には、すべてのOracle Integrationアプリケーション・ロールがリストされます。 ServiceInvokerロールが展開され、割当済ユーザー、割当済グループおよび割当済アプリケーションのエントリが含まれます。 各エントリには、「管理」という名前のリンクが含まれています。

    2. 「使用可能なユーザーの表示」をクリックします。
    3. ユーザーを選択し、「割り当て」をクリックしてから、「閉じる」をクリックします。
  5. リソース所有者のパスワード資格証明権限付与タイプのクライアント・アプリケーションを検証します。
    1. アクセス・クライアントをフェッチするには、ペイロードでユーザー名とパスワードを使用してリクエストします。
      ##Syntax
      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'
       
      ###where
      #### <base64-clientid-secret> - Base 64 encode clientId:ClientSecret
      #### <username> - user for token needs to be issued (must be in serviceinvoker role).
      #### <password> - password for above user
      #### <app_scope> - Scope added while creating application in client configuration section (Ends with urn:opc:resource:consumer::all)
      ##Example
      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'
    2. レスポンスからaccess_tokenおよびrefresh_tokenを取得します。
      {
          "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
          "token_type": "Bearer",
          "expires_in": 3600,
          "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc="
      }
    3. 認可ヘッダーのaccess_tokenを使用して、Oracle Integrationトリガー・エンドポイントを起動します。
      curl --location --request GET 'https://OIC host/OIC endpoint' \
      --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'
    4. アクセス・トークンを更新するには、リフレッシュ・トークンを使用してリクエストします。
    5. レスポンスからaccess_tokenおよびrefresh_tokenを取得して、さらに使用します。
      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>'
       
      ##Example
      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='

JWTユーザー・アサーションの前提条件

キーの生成

JWTユーザー・アサーションのクライアント・アプリケーションを構成するときに、インポートするキーを最初に生成する必要があります。

  1. 自己署名キー・ペアを生成します。
    keytool -genkey -keyalg RSA -alias <your_alias> -keystore <keystore_file> -storepass <password> -validity 365 -keysize 2048
     
    ##example
    keytool -genkey -keyalg RSA -alias assert -keystore sampleKeystore.jks -storepass samplePasswd -validity 365 -keysize 2048
  2. JWTアサーションに署名するための公開キーをエクスポートします。
    keytool -exportcert -alias <your_alias> -file <filename> -keystore <keystore_file> -storepass <password>
     
    ##example
    keytool -exportcert -alias assert -file assert.cer -keystore sampleKeystore.jks -storepass samplePasswd
     
    ## This should show a success message e.g. Certificate stored in file <assert.cer>
  3. キーストアをP12形式に変換します。
    keytool -importkeystore -srckeystore <filename> -srcstorepass <password> -srckeypass <password> -srcalias <your_alias> -destalias <your_alias> -destkeystore <destFileName> -deststoretype PKCS12 -deststorepass <password> -destkeypass <password>
     
    ##example
    keytool -importkeystore -srckeystore sampleKeystore.jks -srcstorepass samplePasswd -srckeypass samplePasswd -srcalias assert -destalias assert -destkeystore assert.p12 -deststoretype PKCS12 -deststorepass samplePasswd -destkeypass samplePasswd
     
    ## This should show a success message e.g. Importing keystore sampleKeystore.jks to assert.p12...
  4. P12キーストアから秘密キーをエクスポートします。
    openssl pkcs12 -in <destFileName> -nodes -nocerts -out <pem_file>
     
    ##example
    openssl pkcs12 -in assert.p12 -nodes -nocerts -out private_key.pem
     
    ## This should show a success message: MAC verified OK

クライアント・アプリケーションを構成します。

OAuthとの統合をトリガーするには、クライアント・アプリケーションが必要です。

  1. 「Add application」をクリックします。
  2. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。


    「アプリケーションの追加」ダイアログには、「アプリケーション・カタログ」、「SAMLアプリケーション」、「モバイル・アプリケーション」、「機密アプリケーション」および「エンタープライズ・アプリケーション」の選択肢が表示されます。

  3. 名前を入力します。 このページの残りのフィールドはオプションであり、無視してかまいません。
  4. 「次へ」をクリックします。
  5. 「クライアント構成」ボックスで、「このアプリケーションをクライアントとして構成」を選択します。
  6. JWTユーザー・アサーションの場合は、「許可された付与タイプ」セクションで「JWTアサーション」および「トークンをリフレッシュ」を選択します。


    「クライアント構成」ダイアログに、「このアプリケーションをクライアントとして今すぐ構成する」および「後でスキップする」のラジオ・ボタンが表示されます。 「認可」セクションには、許可された付与タイプが表示されます。 オプションは、リソース所有者、クライアント資格証明、JWTアサーション、リフレッシュ・トークン、デバイス・コード、認可コード、暗黙的、SAML2アサーションおよびTLSクライアント認証で使用できます。

  7. 付与タイプに対して次のステップを実行します:
    1. 「リダイレクトURL」「ログアウト後リダイレクトURL」および「ログアウトURL」フィールドは空白のままにします。
    2. 「クライアント・タイプ」セクションで、「信頼」を選択します。


      「クライアント・タイプ」セクションには、「信頼できる」および「機密」のオプションが表示されます。 この下には「証明書」セクションがあり、「証明書のインポート」ボタンがあります。 この下には「許可された操作」セクションがあり、「イントロスペクト」および「代理」のオプションがあります。

    3. 「キーの生成」セクションで作成した証明書をアップロードします。 このアクションは、証明書を信頼できるパートナとして追加します。
    4. 複数のフィールドをバイパスし、「トークン発行ポリシー」セクションまで下にスクロールします。
    5. 認可されたリソース」セクションで「特定」を選択します。


      「トークン発行ポリシー」セクションには、「すべて」および「特定」の選択肢を含む「認可済」リソースのサブセクションが表示されます。

    6. 「リソースの追加」チェック・ボックスをクリックします。
    7. 「スコープの追加」をクリックします。
    8. インスタンスのOracle Integrationアプリケーションを検索し、詳細を開くアイコンをクリックします。
    9. 次の詳細が追加された2つのスコープを選択します:
      • urn:opc:resource:consumer::all
      • ic/api/
    10. 「追加」をクリックします。

      スコープが「リソース」セクションに表示されます。


      「リソース」ダイアログに、「スコープの追加」および「削除」のタブが表示されます。 下には、チェック・ボックスと、「リソース」、「保護」および「スコープ」の追加列を表示する列がある表があります。

    11. 「アプリケーション・ロールの追加」チェック・ボックスを無視します。 この選択は必要ありません。
    12. 「次」「終了」の順にクリックします。

      クライアント・アプリケーションの詳細ページが表示されます。

    13. 「アクティブ化」「アプリケーションのアクティブ化」の順にクリックして、使用するクライアント・アプリケーションをアクティブ化します。
    14. 「一般情報」セクションで、クライアントIDおよびクライアント・シークレットの値を書き留めます。 これらの値は、アイデンティティ・ドメインと通信しているサード・パーティ・アプリケーションに必要です。


      「一般情報」セクションには、クライアントIDおよびクライアント・シークレットのフィールドが表示されます。 この下には、「シークレットの表示」および「再生成」のリンクがあります。

  8. ナビゲーション・ペインで、Oracle Cloud Servicesをクリックします。


    「アイデンティティ・ドメイン」ナビゲーション・ペインにエントリが表示されます。 「概要」オプションが選択されています。 この下には、「概要」、「ユーザー」、「グループ」の選択があります。 動的グループ、統合アプリケーションおよびOracle Cloud Services。

  9. Oracle Integrationインスタンスに対応する特定のアプリケーションを選択します。
  10. ナビゲーション・ペインで、「アプリケーション・ロール」をクリックします。
  11. ServiceInvokerを展開し、「割当済ユーザー」または「割当済グループ」の横にある「管理」をクリックします。 たとえば、割当済ユーザーをクリックすると、次のようになります:


    「アプリケーション・ロール」ダイアログには、「インポート」および「エクスポート」のボタンが表示されます。 下には、チェック・ボックスの列と、「名前」および「説明」の追加列を含む表があります。 「名前」列には、すべてのOracle Integrationアプリケーション・ロールがリストされます。 ServiceInvokerロールが展開され、割当済ユーザー、割当済グループおよび割当済アプリケーションのエントリが含まれます。 各エントリには、「管理」という名前のリンクが含まれています。

  12. 「使用可能なユーザーの表示」をクリックします。
  13. ユーザーを選択し、「割り当て」をクリックしてから、「閉じる」をクリックします。

信頼できるパートナとしての証明書の追加

署名証明書をクライアント・アプリケーションにインポートするだけでなく、証明書を信頼できるパートナ証明書として含める必要もあります。
  1. ナビゲーション・ペインで、「設定」をクリックします。


    「アイデンティティ・ドメイン」ナビゲーション・ペインにエントリが表示されます。 「概要」オプションが選択されています。 この下には、「概要」、「ユーザー」、「グループ」の選択があります。 動的グループ、統合アプリケーション、Oracle Cloud Services、ジョブ、レポート、セキュリティおよび設定。

  2. 「信頼できるパートナ証明書」をクリックします。
  3. 「証明書のインポート」をクリックして、セクション「キーの生成」で作成した証明書をアップロードします。

JWTユーザー・アサーションの生成

  1. 生成された秘密キーと単純なJavaコードを使用してJWTユーザー・アサーションを生成します。

    ノート:

    https://github.com/jwtk/jjwtライブラリを使用して、ユーザー・アサーションを生成できます。 https://jwt.io/には、複数のテクノロジ用に多数のライブラリがリストされています。
    Sample:
    header:
    {
    "alg": "RS256",
    "typ": "JWT",
    "kid": "assert"
    }
     
    payload:
    {
    "sub": "ssaInstanceAdmin",
    "jti": "8c7df446-bfae-40be-be09-0ab55c655436",
    "iat": 1589889699,
    "exp": 1589909699,
    "iss": "d702f5b31ee645ecbc49d05983aaee54",
    "aud": "https://identity.oraclecloud.com/"
    }
    説明:
    • subでは、ユーザー・アサーションが生成されるユーザー名を指定します。
    • jtiは一意の識別子です
    • iatが発行されます(エポック秒)。
    • expはトークンの有効期限(エポック秒)です。
    • issはクライアントIDです。
    • audには、アイデンティティ・ドメイン・オーディエンスhttps://identity.oracle.com/が含まれている必要があります。 署名アルゴリズムはRS256である必要があります。
    • kidは、シグネチャの検証に使用するキーを指定します。 したがって、アップロードした証明書の別名と一致する必要があります。

クライアント・アプリケーションの検証

  1. JWTユーザー・アサーションを生成したら、次のようにアクセス・トークンを生成します。
    ##Syntax
    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=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=<user assertion>&scope=<app_scope>'
      
    ###where
    #### grant type - urn:ietf:params:oauth:grant-type:jwt-bearer
    #### <base64-clientid-secret> - Base 64 encode clientId:ClientSecret
    #### <user assertion> - User assertion generated
    #### <app scope> - Scope added while creating application in client configuration section (Ends with urn:opc:resource:consumer::all)
  2. レスポンスからaccess_tokenを取得します。
    {
        "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
        "token_type": "Bearer",
        "expires_in": 3600
    }
  3. 認可ヘッダーのaccess_tokenを使用して、Oracle Integrationトリガー・エンドポイントを起動します。
    curl --location --request GET 'https://OIC host/OIC endpoint' \
    --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'

認証コードの前提条件

クライアント・アプリケーションを構成します。

OAuthとの統合をトリガーするには、クライアント・アプリケーションが必要です。

  1. 「Add application」をクリックします。
  2. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。


    「アプリケーションの追加」ダイアログには、「アプリケーション・カタログ」、「SAMLアプリケーション」、「モバイル・アプリケーション」、「機密アプリケーション」および「エンタープライズ・アプリケーション」の選択肢が表示されます。

  3. 名前を入力します。 このページの残りのフィールドはオプションであり、無視してかまいません。
  4. 「次へ」をクリックします。
  5. 「クライアント構成」ボックスで、「このアプリケーションをクライアントとして構成」を選択します。
  6. 使用する付与タイプを選択します:
    1. 認可コードの場合は、「許可された付与タイプ」セクションで「トークンをリフレッシュ」および「承認コード」を選択します。


      「クライアント構成」ダイアログに、「このアプリケーションをクライアントとして今すぐ構成する」および「後でスキップする」のラジオ・ボタンが表示されます。 「認可」セクションには、許可された付与タイプが表示されます。 オプションは、リソース所有者、クライアント資格証明、JWTアサーション、リフレッシュ・トークン、デバイス・コード、認可コード、暗黙的、SAML2アサーションおよびTLSクライアント認証で使用できます。

    2. 「リダイレクトURL」フィールドに、クライアント・アプリケーションのリダイレクトURLを入力します。 ユーザー・ログイン後、このURLは認可コードでリダイレクトされます。 複数のリダイレクトURLを指定できます。 これは、複数のインスタンスがあるが、ライセンスの問題が原因でクライアント・アプリケーションが1つのみである開発環境に役立ちます。

      ノート:

      次の情報がわからない場合は、管理者に確認してください:

      • インスタンスが新規であるか、Oracle Integration Generation 2 Generation 2からOracle Integration Generation 2にアップグレードされた場合。
      • リージョンを含む完全なインスタンスURL (新しいインスタンスで必要)。
      接続用… リダイレクトURLの一部としてリージョンを含めますか。 指定するリダイレクトURLの例…
      新しいOracle Integration Generation 2インスタンスで作成されます はい
      https://OIC_instance_URL.region.ocp.oraclecloud.com/icsapis/agent/oauth/callback

      Oracle Integration Generation 2 Generation 2からOracle Integration Generation 2にアップグレードされたインスタンスで作成されます

      番号

      このことは両方とも該当します:

      • アップグレード後に作成された新しい接続
      • アップグレードの一部であった既存の接続
      https://OIC_instance_URL.ocp.oraclecloud.com/icsapis/agent/oauth/callback
    3. 「クライアント・タイプ」セクションで、「機密」をクリックします。
    4. 認可されたリソース」セクションで「特定」を選択します。


      「トークン発行ポリシー」セクションには、「すべて」および「特定」の選択肢を含む「認可済」リソースのサブセクションが表示されます。

    5. 「リソースの追加」チェック・ボックスをクリックします。
    6. 「スコープの追加」をクリックします。
    7. インスタンスのOracle Integrationアプリケーションを検索し、詳細を開くアイコンをクリックします。
    8. 次の詳細が追加された2つのスコープを選択します:
      • urn:opc:resource:consumer::all
      • ic/api/
    9. 「追加」をクリックします。

      スコープが「リソース」セクションに表示されます。


      「リソース」ダイアログに、「スコープの追加」および「削除」のタブが表示されます。 下には、チェック・ボックスと、「リソース」、「保護」および「スコープ」の追加列を表示する列がある表があります。

    10. 「アプリケーション・ロールの追加」チェック・ボックスを無視します。 この選択は必要ありません。
    11. 「次」「終了」の順にクリックします。

      クライアント・アプリケーションの詳細ページが表示されます。

    12. 「アクティブ化」「アプリケーションのアクティブ化」の順にクリックして、使用するクライアント・アプリケーションをアクティブ化します。
    13. 「一般情報」セクションで、クライアントIDおよびクライアント・シークレットの値を書き留めます。 これらの値は、アイデンティティ・ドメインと通信しているサード・パーティ・アプリケーションに必要です。


      「一般情報」セクションには、クライアントIDおよびクライアント・シークレットのフィールドが表示されます。 この下には、「シークレットの表示」および「再生成」のリンクがあります。

Oracle Integrationアプリケーション・ロールおよびユーザー・ロールの検証

  1. ナビゲーション・ペインで、Oracle Cloud Servicesをクリックします。


    「アイデンティティ・ドメイン」ナビゲーション・ペインにエントリが表示されます。 「概要」オプションが選択されています。 この下には、「概要」、「ユーザー」、「グループ」の選択があります。 動的グループ、統合アプリケーションおよびOracle Cloud Services。

  2. Oracle Integrationインスタンスに対応する特定のアプリケーションを選択します。
  3. ナビゲーション・ペインで、「アプリケーション・ロール」をクリックします。
  4. ServiceInvokerを展開し、「割当済ユーザー」または「割当済グループ」の横にある「管理」をクリックします。 たとえば、割当済ユーザーをクリックすると、次のようになります:


    「アプリケーション・ロール」ダイアログには、「インポート」および「エクスポート」のボタンが表示されます。 下には、チェック・ボックスの列と、「名前」および「説明」の追加列を含む表があります。 「名前」列には、すべてのOracle Integrationアプリケーション・ロールがリストされます。 ServiceInvokerロールが展開され、割当済ユーザー、割当済グループおよび割当済アプリケーションのエントリが含まれます。 各エントリには、「管理」という名前のリンクが含まれています。

  5. 「使用可能なユーザーの表示」をクリックします。
  6. ユーザーを選択し、「割り当て」をクリックしてから、「閉じる」をクリックします。

クライアント・アプリケーションの検証

  1. 認可コードをフェッチするには、ブラウザから次のリクエストを実行します。
    ##Syntax
    GET https://<Identity_Domain_Service_Instance>.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>
     
    ###where
    #### <client-id> - ID of Client application generated.
    #### <client-redirect-uri> - Redirect URI, in client application.
    #### <app_scope> - scope added while creating application in client configuration. (Ends with urn:opc:resource:consumer::all)
    #### nonce - Optional, unique value to mitigate replay attacks
    #### state - Recommended, Opaque to IDCS. Value used to maintain state between the request and the callback
    ##Example
    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
  2. ユーザーがまだログインしていない場合は、ユーザー資格証明の認証が要求されます。 (認証の場合は、ServiceInvokerロールを割り当てられたユーザーを使用する必要があります。)
    認証が成功すると、クライアント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. 前述のレスポンスからコード値を取得し、次のリクエストを実行してアクセス・トークンを取得します。
    ##Syntax
    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=authorization_code&code=<authz-code>&redirect_uri=<client-redirect-uri>
     
    ###where
    #### <base64-clientid-secret> - BAse 64 encode clientId:ClientSecret
    #### <authz-code> - code value received as response on redirect.
    #### <client-redirect-uri> - Redirect URI, in client application.
     
    ##Example
    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
  4. レスポンスからaccess_tokenおよびrefresh_tokenを取得します。
    {
        "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
        "token_type": "Bearer",
        "expires_in": 3600,
        "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc="
    }
  5. 認可ヘッダーのaccess_tokenを使用して、Oracle Integrationトリガー・エンドポイントを起動します。
    curl --location --request GET 'https://OIC host/OIC endpoint' \
    --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'
  6. アクセス・トークンを更新するには、リフレッシュ・トークンを使用してリクエストを行います。
  7. さらに使用するために、レスポンスからaccess_tokenおよびrefresh_tokenを取得します。
    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>'
     
     
    ##Example
    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='