Fusionアプリケーション・アイデンティティ・ドメインによって提供されるOAuthトークンを使用して、FusionフィールドService APIをコール

Oracle ApplicationsのコンテキストのOAuthは、自動生成されたトークン(JWTとも呼ばれるJSON Webトークン)を使用して、必要なリソースへのアクセス権を付与します。 そのトークンを取得するプロセスには、いくつかのステップが含まれます。 次の内容では、構成の指示と、構成全体を理解するのに役立つ説明コンテンツを示します。

Fusion Applications環境に関連付けられたOracle Cloud Infrastructure Identity and Access Management (IAM)アイデンティティ・ドメインを使用して、OAuthフローを構成します。

ノート: 機能は、Fusionフィールド・サービスでのみサポートされていますが、Oracle Field Serviceではサポートされていません。 これは、Fusion Field ServiceがIAMで自動的にプロビジョニングされるためです。 OAuthはOracle Field Serviceで使用できますが、「構成」-->「アプリケーション」で構成する必要があります。 「Oracle Fusionフィールド・サービスの管理」マニュアルの「REST APIとの統合」を参照してください。

この機能では、「クライアント資格証明」OAuth権限付与タイプのみが実装されます。 これにより、ユーザーが関与することなく、アプリケーションをFusion Field Serviceに直接接続できます。 この構成では、アプリケーションとともにクライアント資格証明を格納します。この資格証明は、アクセス・トークンを提供するようにユーザーにかわって認可サーバーをリクエストできます。 後で、そのトークンはリソース・サーバー上のRESTリソースへのアクセスをリクエストするために使用されます。 この場合、ユーザーの関与はありません。 Fusion Field Service内で動作するように構成する必要はありません。 すべての構成は、他のFusion Applicationsを使用してIAMで実行されます。

ビジネス上の利点

ユーザーは、Fusion ApplicationsとともにプロビジョニングされるFusion Applications Identity and Access Management (IAM)によって提供されるクライアント資格証明権限付与タイプを使用して、OAuthトークンを使用してフィールドService APIをコールできます。 Field Serviceで追加の構成を行う必要はありません。 すべての構成は、他のFusion Applicationsを使用してIAMで実行されます。

有効化のステップ

OAuthを構成するには、Oracle Cloud Infrastructure Identity and Access Managementをよく理解し、アイデンティティ・ドメインの作成とメンテナンスの経験が必要です。 詳細は、「IAMの概要」を参照してください。

概要レベルでは、構成には次のものが含まれます:

  1. 機密アプリケーションを作成するアイデンティティ・ドメインを識別します。 ドメインが認可サーバーになります。

    ノート: Identity and Access Management管理コンソールにアクセスしてアイデンティティ・ドメインに移動するために必要な権限が自分または他の必要なユーザーに付与されていることを確認します。 詳細は、「ユーザーの管理」を参照してください。

  2. OAuthフローの「クライアント資格証明」権限付与タイプを指定します。
  3. アクセスの範囲を定義します。 同じオーディエンスの複数のスコープを組み合せることができます。
  4. アクセス・トークンを生成します。
  5. トークンを使用してRESTリソースにアクセスします。

通常、この設定は、自動化されたアプリケーション・レベルのリクエストを処理するクライアントとサーバーの対話に推奨されます。 アプリケーションでの設定方法を見てみましょう。

  1. ユーザーがリソースにアクセスできるようにするアプリケーションを作成します。
    1. 管理者としてアイデンティティ・ドメインにサインインします。
    2. アイデンティティ・ドメインのリストから、「統合アプリケーション」をクリックし、「アプリケーションの追加」をクリックします。
    3. 「アプリケーションの追加」ダイアログ・ボックスで、「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。
    4. 「機密アプリケーションの追加」ページで、追加するアプリケーションの名前を入力します。
    5. 他のすべてのフィールドをスキップして、「Next」をクリックします。
    6. 「OAuthの構成」セクションで、「このアプリケーションをクライアントとして構成」を選択し、クライアント構成設定に進みます。 クライアント・アプリケーションを作成しているので、このオプションのみが関連します。
    7. 「許可」セクションで、「クライアント資格証明」チェック・ボックスを選択して付与タイプを指定します。
    8. 次のいくつかのフィールドをスキップして、「トークン発行ポリシー」セクションに移動します。
    9. 「許可済リソース」で、「特定」を選択して、ユーザーに特定のリソースへのアクセス権のみが付与されるようにします。
  2. 製品のリソースを追加します。
    1. 「リソースの追加」チェックボックスを選択して、ユーザーがアクセスできるリソースを含めます。
    2. 「リソース」サブセクションで、「スコープの追加」をクリックします。
    3. 「スコープの追加」ダイアログ・ボックスで、リソースを含むアプリケーションを選択し、「追加」をクリックします。 リソースが追加されます。 アプリケーション管理者が定義したスコープが次の形式で使用可能であることがわかります: <resource audience><resource scope>.
    4. 追加したリソースを確認します。 リソースが不要な場合は、「削除」を選択してスコープから除外します。
  3. アプリケーションの作成を完了し、アプリケーションをアクティブ化します。
    1. リソースを追加したら、「次」をクリックして、Web層ポリシー・セクションのデフォルト設定に移動します。 このページの設定を変更する必要はありません。
    2. 「終了」をクリックします。 自動生成されたクライアントIDおよびクライアント・シークレットの値を示す確認ダイアログ・ボックスが表示されます。

      ノート: クライアントIDおよびクライアント・シークレットの値は、アクセス・トークンのリクエストに必要になるため、ノートにとります。

    3. 「閉じる」をクリックします。 作成したアプリケーション・ページが表示されます。
    4. 「アクティブ化」をクリックします。 アプリケーションをアクティブ化するための確認を求める確認メッセージが表示されます。
    5. 「アプリケーションのアクティブ化」をクリックします。 機密アプリケーションがアクティブ化され、使用できるようになります。
  4. アクセス・トークンをリクエストします。 これを行うには、Postmanなどのクライアント・アプリケーションまたはcURLコマンドを使用します。 両方のオプションを見てみましょう。

表: PostmanおよびcURLを使用してアクセス・トークンをリクエスト

Sl.No.

Postmanの使用 cURLの使用
1 Postmanで新しいリクエストを作成します。 コマンド・プロンプトを起動します。
2 「認可」タブで、認可タイプとしてOAuth 2.0を選択します。 次のcURLコマンドを入力し、山カッコ(< >)内のテキストを適切な値に置き換えます:

curl -u <clientid:clientsecret> --basic
-H

"Content-Type: application/x-www-form-urlencoded;charset=UTF-8" --request POST https:

//<domainURL>/oauth2/v1/token -d

"grant_type = client_credentials&scope= <scope>"

3

「新規トークンの構成」セクションで、次のクライアント構成を入力します:

  1. トークン名: トークンの汎用名を入力します。
  2. 付与タイプ: 「クライアント資格証明」を選択します。
  3. アクセス・トークンURL: /oauth2/v1/tokenが付加されたIDCS URLがアクセス・トークンURLとして使用されます。 URLは、https://idcs-<idcs-id>.identity.oraclecloud.com/.well-known/idcs-configurationから取得できます。
  4. クライアントID: 機密アプリケーションの作成後に自動生成されたクライアントID値を入力します。
  5. クライアント・シークレット: 機密アプリケーションの作成後に自動生成されたクライアント・シークレット値を入力します。
  6. 範囲: アイデンティティ・ドメインに定義されているスコープを示します。 同じオーディエンスの複数のスコープを組み合せることができます。
  7. クライアント認証: 「基本認証ヘッダーとして送信」を選択します。
次のような形式でレスポンスを想定できます: 

Status: 200

"access_token"

:

"eyJ4NXQiOiI4Wk. . ."

"token" : "Bearer",

"expires_in":3600

4 「新規アクセス・トークンの取得」をクリックします。 Postmanは、情報をアイデンティティ・ドメインに渡して認証し、アクセス・トークンを返します。 アクセス・トークンに表示される値をコピーします。 これは、リソースへのアクセスをリクエストするために必要なトークンです。

5. アクセス・トークンを使用してリソースにアクセスします。

Postmanで、「トークンの使用」をクリックしてtoken.(auto-fill the Token field)を使用し、リソース・サーバーからリソースにアクセスします。 または、前のステップでcURLコマンドが必要な場合は、コマンド・プロンプトを続行してRESTリクエストを送信し、リソースにアクセスすることもできます。

リクエストは、次のように構成する必要があります:

curl -X GET -H "<as needed by your REST endpoint, such as application/json>" -H "Authorization: Bearer <access_token>" "https://<REST API endpoint URL>"

AuthorizationヘッダーはBearerトークンに設定され、以前に取得したアクセス・トークンをその値として指定することに注意してください。

フィールド・サービスに対して定義されたスコープ

  1. / - デフォルト・スコープ。 APIのOpen API/Swaggerメタデータ、およびドキュメントのメタデータ、部品カタログおよび統計セクションで定義されたAPIの読取り専用モードでAPIにアクセスできます。
  2. /use - アクティビティやリソースの管理、キャパシティの定義、予約APIのコールなど、日常業務。 ドキュメントの「コラボレーション」セクションで定義されたAPIにはアクセスできません。これらのAPIにはユーザー・アイデンティティが必要なためです。
  3. /view - 「使用」と同じですが、読取り専用アクセスです
  4. /events - イベントのサブスクライブと取得
  5. /setup - 設定と管理。 ドキュメントのメタデータ、部品カタログおよび統計セクションで定義されたAPIに対して、読取り/書込みモードでAPIにアクセスできます。