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"}