OAuthクライアントを登録します(OAuth)

OAuthクライアントを登録して、Oracle Autonomous AI Database A2Aサーバーにアクセスするための資格証明を生成し、A2Aクライアント統合のセキュアな認証を有効にします。

ノート

ノート:クライアント資格証明の作成が許可されるのは、データベースのADMINユーザーのみです。

エンドポイント

POST https://dataaccess.adb.{region-identifier}.oraclecloudapps.com/adb/auth/v1/connect/databases/{database-ocid}/register
  1. {database-ocid}の登録エンドポイントにPOSTリクエストを送信します。

  2. リクエスト・ペイロードにリダイレクトURIおよびクライアント名を指定します。リクエスト・ペイロードでは、OAuthクライアント・シークレットの有効期限を制御するためのオプションのclient_secret_expires_in_mins属性がサポートされます。

    リクエスト本文

    {
      "redirect_uris": ["{customer-provided-redirect-url}"],
      "client_name": "{customer-provided-client name}",
      "client_secret_expires_in_mins": 123456
    }

    プレースホルダを特定の値に置き換えます。

    • redirect_uris: 認証の成功後にOAuth 2.0またはOpenID ConnectプロバイダがユーザーをリダイレクトするURL

    • client_name: クライアントを識別するユーザー定義の名前(たとえば、DbA2AClient)
    • client_secret_expires_in_mins: (オプション)クライアント・シークレットが期限切れになるまでの分数。省略した場合、クライアント・シークレットは期限切れになりません。正の整数を指定してください。0の値はサポートされていません。
  3. 登録レスポンスを確認し、生成されたクライアント資格証明を記録します。

    応答フォーマット

    {
    "client_name": "{customer-provided-client name}",
    "client_id": "{generated-client-id}",
    "client_secret": "{generated-client-secret}",
    "client_id_issued_at": {issue-timestamp},
    "client_secret_expires_at": {expiration-timestamp},
    "redirect_uris": ["{customer-provided-redirect-url}"],
    "response_types": ["code"],
    "grant_types": [
                "authorization_code",
                "refresh_token"
                    ],
    "token_endpoint_auth_method": "client_secret_post",
    "scope": "openid"
    }

    レスポンスには、OAuth認証に必要な、生成されたclient_idおよびclient_secretが含まれます。クライアント・シークレットに有効期限がある場合、client_secret_expires_atには有効期限タイムスタンプが含まれます。client_secret_expires_atは、クライアント・シークレットの有効期限が切れるUnixエポック(1970年1月1日、UTC)からの秒数を表す絶対タイムスタンプです。値0は、シークレットが失効しないことを意味します。

  4. 返されたOAuthクライアント資格証明を格納し、URIを安全にリダイレクトします。

  5. 戻されたclient_idclient_secretおよびredirect_urisを使用して、A2Aクライアント・エージェントでOAuth認証を構成します。

例: OAuthクライアント(OAuth)の登録

curl -X POST 'https://dataaccess.adb.{region-identifier}.oraclecloudapps.com/adb/auth/v1/connect/databases/{database-ocid}/register' \
  -u 'db-admin-username:password' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
    "redirect_uris": ["{customer-provided-redirect-url}"],
    "client_name": "{customer-provided-client name}",
    "client_secret_expires_in_mins": 123456
  }'

OAuthクライアント・リクエストのレスポンス:

{
  "client_name": "DbA2AClient",
  "client_id": "ocid1.a2a.client.oc1..exampleuniqueID",
  "client_secret": "AbCdEf1234567890SecretValue",
  "client_id_issued_at": 1712345678,
  "client_secret_expires_at": 0,
  "redirect_uris": ["https://myapp.example.com/oauth/callback"],
  "response_types": ["code"],
  "grant_types": [
    "authorization_code",
    "refresh_token"
		],
  "token_endpoint_auth_method": "client_secret_post",
  "scope": "openid"
}

登録レスポンスを使用したOAuthクライアントの構成: APIレスポンスはOAuthクライアント資格証明(client_idclient_secretなど)を返し、登録済クライアントのURIをリダイレクトします。

返されたclient_idclient_secretおよびredirect_urisを使用して、A2Aクライアント・エージェント(Google Gemini Enterpriseアプリケーションまたは別のA2A互換クライアントなど)でOAuth認証を構成します。詳細は、Configure the Agent through Google Marketplace (Administrator)およびConfigure the Custom Agent (Administrator)を参照してください。