[AEM Forms]{class="badge positive" title="AEM Formsに適用)。"}
OAuth サーバー間認証
OAuth Server-to-Server Authenticationにより、ユーザーの操作を必要とせずに、AEM Forms Communications APIへのトークンベースの安全なアクセスが可能になります。 OAuth サーバー間認証は、Adobe Developer Consoleでサポートされています。
前提条件
開始する前に、次の前提条件が満たされていることを確認してください。
- 使用している環境に固有のAdobe Developer Consoleへのアクセス権があることを確認してください。
- Adobe Developer Consoleへのアクセスを有効にするには、Adobe Admin Consoleでシステム管理者または開発者の役割を割り当てます。
OAuth サーバー間認証を使用してアクセストークンを生成する方法を教えてください。
次の手順に従って、Adobe Developer コンソールからアクセストークンを生成し、OAuth Server-to-Server Authenticationを介して最初のAPI呼び出しを行います。
1. Adobe Developer Console プロジェクト設定
-
Adobe Developer Consoleに移動します
-
Adobe IDでログイン
-
新規プロジェクトを作成するか、既存のプロジェクトに移動します
-
クイックスタート セクションで、新規プロジェクトの作成をクリックします
-
新しいプロジェクトがデフォルト名で作成されます
-
右上隅の「プロジェクトを編集」をクリックします
-
意味のある名前を指定します(例:「formsproject」)。
-
「保存」をクリックします。
-
Adobe Developer Consoleから すべてのプロジェクト をクリックします
-
プロジェクトを見つけて、クリックして開きます。
2. Forms APIの追加
次の操作に基づいてForms APIを追加します。
- AEM Forms Communications API:ドキュメント(PDFおよび関連する形式)の生成、変換、組み立て、またはセキュリティ保護が必要な場合に使用します。
- アダプティブ Forms ランタイム API – 実行時にアダプティブ Formsをレンダリング、送信、処理する必要がある場合に使用します。
-
「APIを追加」をクリックします
-
Forms Communication APIを選択
-
Add API ダイアログで、Experience Cloudでフィルタリングします
-
「Forms Communication API」を選択
-
「次へ」をクリックします。
-
OAuth サーバー間認証方法を選択
-
-
「APIを追加」をクリック
-
AEM Forms Delivery and Runtime APIを選択
-
Add API ダイアログで、Experience Cloudでフィルタリングします
-
「AEM Forms Delivery and Runtime API」を選択
-
「次へ」をクリックします。
-
OAuth サーバー間認証方式を選択します。
-
既存のプロジェクトにAPIと認証方法を追加するには、プロジェクトに追加 > APIをクリックします
3. 製品プロファイルを追加
製品プロファイルは、AEM リソースにアクセスするための資格情報に対する権限(または権限)を提供します。
-
AEM インスタンス URL (
https://Service Type -Environment Type-Program XXX-Environment XXX.adobeaemcloud.com)に一致する 製品プロファイル を選択します。-
サービスタイプ - AEM インスタンスに関連付けられているサービスまたは権限を指定します
-
環境タイプ – 環境がオーサーサービスとパブリッシュサービスのどちらであるかを指定します
-
プログラム XXX - Cloud Manager プログラム IDを識別します
-
環境XXX – そのプログラム内の特定の環境IDを識別します
note NOTE 製品プロファイルは、特定のAEM インスタンス(プログラムと環境)に関連付けられます。 インスタンス URLに一致するプロファイルを必ず選択してください。 -
-
「設定済み API を保存」をクリックします。 APIと製品プロファイルがプロジェクトに追加されます
4. 資格情報の生成と保存
-
Adobe Developer Consoleでプロジェクトに移動します
-
OAuth サーバー間資格情報をクリックします
-
資格情報の詳細 セクションを表示
レコード API資格情報
API Credentials:
================
Client ID: <your_client_id>
Client Secret: <your_client_secret>
Technical Account ID: <tech_account_id>
Organization ID: <org_id>
Scopes: AdobeID,openid,read_organizations
5. アクセストークン生成
アクセストークンを手動またはプログラムで生成します。
Adobe Developer Consoleでアクセストークンを手動で生成する:
-
プロジェクトに移動
- Adobe Developer Consoleで、プロジェクトを開きます
- OAuth サーバー間をクリックします
-
アクセストークンを生成
- プロジェクトのAPI セクションで「“アクセストークンを生成”」ボタンをクリックします
- 生成されたアクセストークンをコピー
note NOTE アクセストークンは 24時間 のみ有効です
Adobe IMS APIを使用してプログラムでトークンを生成します:
必要な資格情報:
- クライアント ID
- クライアントの秘密鍵
- スコープ (通常:
openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_cloud, aem.document)
トークンエンドポイント:
| code language-none |
|---|
|
サンプルリクエスト (curl):
| code language-bash |
|---|
|
応答:
| code language-json |
|---|
|
生成されたアクセストークンを使用して、開発環境、ステージ環境または実稼動環境のAPI呼び出しを行えるようになりました。
ベストプラクティス:開発、ステージング、実稼動用の資格情報の管理
-
開発、ステージング、実稼動では、常に別々の資格情報を使用します。
-
各資格情報を正しいAEM環境URLにマッピングします。
-
秘密鍵を安全に保管し、それらをソース管理に委ねないでください。
-
トークンは24時間のみ有効なので、アクセストークンの有効性を追跡します。
次の手順
同期Forms Communication APIの環境を設定する方法については、AEM Forms as a Cloud Service Communications同期処理を参照してください。
関連記事
同期(オンデマンド)および非同期(バッチ)Forms Communications APIの環境を設定する方法について説明します。
AEM Forms Communications API – 同期
ドキュメントを即座に生成または処理する同期(オンデマンド)Forms Communications APIの環境を設定する方法について説明します。
AEM Forms Communications API – 非同期(バッチ)
複数のドキュメントをスケジュールされた方法で生成または処理する非同期(バッチ)Forms Communications APIの環境を設定する方法について説明します。