AEM-CS API クライアントコードのサンプルを使用してアクセストークンを取得する方法

外部アプリケーションが HTTP を介してAEM as a Cloud Service オーサーまたはパブリッシュ上で操作を実行できるように、AEM-CS API クライアントコードサンプルを使用してAEMのアクセストークンを取得する方法について説明します。

説明 description

環境

Adobe Experience Manager as a Cloud Service(AEMaaCS)

問題/症状

AEM as a Cloud Serviceでは、HTTP を使用してAEM オーサーまたはパブリッシュ上で操作を実行するために、外部のアプリケーション、システムおよびサービス用のアクセストークンが必要です。

アクセストークンを取得するには、サービス資格情報から JSON web トークン(JWT)を生成し、交換します。

AEM-CS API クライアントコードのサンプルを使用すると、このプロセスを簡略化できます。 この ​ 記事 ​ では、AEM-CS API クライアントコードのサンプルを使用してアクセストークンを取得する方法を説明します。

解決策 resolution

GitHub リポジトリ(https://github.com/adobe/aemcs-api-client-lib)からAEM-CS API クライアントコードサンプルを取得します。

AEM as a Cloud ServiceのDeveloper Consoleからサービス資格情報をダウンロードします。

アクセストークンを受け取るには、サービス資格情報を使用して、AEM-CS API クライアントコードのサンプルを実行します。

再現手順

手順 1.セットアップ

手順 1-1. Cloud Managerで、ターゲット AEM環境用のAEM Developer Consoleを開きます。

手順 1~2. 統合/ テクニカルアカウントからサービス資格情報を JSON ファイル > してダウンロード >、新しいテクニカルアカウントを作成します。

サービス資格情報の例:

{
        "ok": true,
        "integration": {
            "imsEndpoint": "ims-na1.adobelogin.com",
            "metascopes": "ent_aem_cloud_api",
            "technicalAccount": {
            "clientId": "cm-p12345-e6789-integration",
            "clientSecret": "123...789"
            },
            "email": "ABC...@techacct.adobe.com",
            "id": "DEF...@techacct.adobe.com",
            "org": "GHI...@AdobeOrg",
            "privateKey": "-----BEGIN RSA PRIVATE KEY-----\r\n...\r\n-----END RSA PRIVATE KEY-----\r\n",
            "publicKey": "-----BEGIN CERTIFICATE-----\r\n...\r\n-----END CERTIFICATE-----\r\n"
        },
        "statusCode": 200
        }

手順 1~3. ダウンロードした JSON ファイル(例:downloaded_integration.json)を、Node.js がインストールされているサーバーに保存します

手順 1~4. AEM-CS API クライアントコードサンプルをサーバーにダウンロードします

$ git clone https://github.com/adobe/aemcs-api-client-lib.git

手順 2.ツールの実行

手順 2-1. AEM-CS API クライアントコードサンプルの実行

$ cd aemcs-api-client-lib

   $ node cli.js exchange <path-to>/downloaded_integration.json

応答の例:

>> post /ims/exchange/jwt
<< post /ims/exchange/jwt 200
{
   "token_type": "bearer",
   "access_token": "eyJ4...F4MAA",
   "expires_in": 86399999
   }

手順 2-2. 標準出力から access_token の値を抽出し、AEM as a Cloud Serviceでのアクセス操作に使用します

アクセスの例:

$ curl -H "Authorization: Bearer eyJ4...F4MAA" "https://author-p12345-e6789.adobeaemcloud.com/content/wknd/us/en.json"
   {"jcr:created":"Wed Feb 22 2023 04:07:45 GMT+0000","jcr:createdBy":"admin","jcr:primaryType":"cq:Page"}
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f