0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OAuth2.0認証でOracle Integration CloudのREST APIを実行する

Last updated at Posted at 2025-08-06

はじめに

この記事ではOracle Integration Cloud(以下略OIC)で公開されているREST APIをOAuth 2.0認証で実行する手順についてまとめます。

事前準備

Identity Domainで機密アプリケーションを作成する

メニューからドメインを開きます。

image.png

任意のドメインの詳細を開きます。

image.png

統合アプリケーションを開きます。

image.png

「アプリケーションの」追加をクリックします。

image.png

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

image.png

image.png

任意の名前を入力し、「送信」をクリックします。

image.png

image.png

機密アプリケーションでOAuth構成を設定する

以下の画面に遷移するので、「OAuth構成」タブを開きます。

image.png

「OAuth構成の編集」をクリックします。

image.png

クライアント構成の「このアプリケーションをクライアントとして今すぐ構成します」にチェック

許可される権限付与タイプは「クライアント資格証明」にチェックします。

image.png

下にスクロールし、クライアントIPアドレスを「任意の場所」、トークン発行ポリシーを「機密」にチェックします。

image.png

下にスクロールし、リソースの追加のトグルを切り替えて、「スコープの追加」をクリックします。

image.png

OICのインスタンスが表示されるのでチェックして、「追加」をクリックします。

image.png

image.png

追加すると以下のようになります。
ここで追加されたスコープの「...urn:opc:resource:consumer::all」の方は後で使うのでどこかにコピーしておきます。

image.png

次にアプリケーション・ロールの追加のトグルを切り替えます。
ここは別の画面で設定するので、切り替えるだけでOKです。追加のボタンを押してOAuthの編集を終わります。

image.png

image.png

次にOracle Cloudサービスのタブを開きます。

image.png

任意のOICのインスタンスをクリックします。

image.png

アプリケーション・ロールのタブをクリックします。

image.png

Service Developerの三点リーダから「アプリケーションの管理」をクリックします。

image.png

「アプリケーションの割当て」をクリックします。

image.png

前の手順で作成した機密アプリケーションを選択して、割当てします。

image.png

設定は以上で完了したので、統合アプリケーションタブに戻って、三点リーダから「アクティブ化」をクリックします。

image.png

必要な情報の収集

次にクライアントへアクセスしてtokenを取得するために必要な情報を収集します。

  • ドメインURL
    ドメインURLは前の手順で開いていたドメインの詳細画面から確認することができます。
    image.png

  • クライアントID、クライアント・シークレット
    クライアントID、クライアント・シークレットは機密アプリケーションのOAuth構成の画面から確認できます。
    image.png

  • スコープ
    スコープは既に前の手順で確認しましたが、機密アプリケーションのOAuthの構成の編集時に追加されたスコープの「...urn:opc:resource:consumer::all」の文字列です。

image.png

これでIdentity Domain側の設定が完了しました。

ShellからOICの実行

最後に実行します。Cloud Shellなどのターミナルに以下のシェル・スクリプトを張り付けて実行します。このサンプルではRESTアダプターをトリガとした統合アプリケーションを呼んでいます。同じ方法でこちらにあるREST APIを実行することも可能です。OIC_ENDPOINTは実行したいOICのREST APIのエンドポイントを設定します。

かいつまんで説明すると、3. トークン取得 の部分でIDCSドメインに対してtokenを取得し、そのtokenを使って 4. OIC統合フロー呼び出し でOICの統合アプリケーションをREST APIで呼び出しています。

#!/bin/bash

# === 1. 設定(あなたの値に置き換えてください) ===
IDCS_DOMAIN="<ドメインURL>"
CLIENT_ID="<クライアントID>"
CLIENT_SECRET="<クライアント・シークレット>"
SCOPE="<スコープ>"

# OIC統合フローのRESTトリガーURL(https://... で始まる完全URL)
OIC_ENDPOINT="<実行するOICのREST APIのエンドポイント>"

# === 2. base64改行なしで認証文字列を作成 ===
BASIC_AUTH=$(echo -n "${CLIENT_ID}:${CLIENT_SECRET}" | base64 -w 0)

# === 3. トークン取得 ===
echo "🔐 Access tokenを取得中..."
TOKEN_RESPONSE=$(curl -s -X POST "${IDCS_DOMAIN}/oauth2/v1/token" \
  -H "Authorization: Basic ${BASIC_AUTH}" \
  -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \
  -d "grant_type=client_credentials&scope=${SCOPE}")

ACCESS_TOKEN=$(echo "$TOKEN_RESPONSE" | jq -r '.access_token')

if [[ -z "$ACCESS_TOKEN" || "$ACCESS_TOKEN" == "null" ]]; then
  echo "❌ トークン取得に失敗:"
  echo "$TOKEN_RESPONSE"
  exit 1
fi
echo "✅ トークン取得成功"

# === 4. OIC統合フロー呼び出し ===
echo "🚀 OIC統合フローを呼び出します..."

curl -X POST "${OIC_ENDPOINT}" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json"

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?