對AEM as a Cloud Service的權杖型驗證
AEM公開各種能夠以無周邊方式互動的HTTP端點,從GraphQL、AEM Content Services到Assets HTTP API。 通常,這些Headless消費者可能需要向AEM驗證以存取受保護的內容或操作。 為方便起見,AEM支援對來自外部應用程式、服務或系統的HTTP要求進行權杖式驗證。
在本教學課程中,請深入探索外部應用程式可如何以程式設計方式使用存取權杖並透過HTTP向AEM as a Cloud Service驗證及互動。
必要條件
在參加本教學課程之前,請確定已具備下列條件:
外部應用程式概述
此教學課程使用從命令列執行的簡單Node.js應用程式,以使用Assets HTTP API更新AEM as a Cloud Service上的資產中繼資料。
Node.js應用程式的執行流程如下:
-
從命令列叫用Node.js應用程式
-
命令列引數定義:
- 要連線的AEM as a Cloud Service Author服務主機(
aem
) - 資產已更新的AEM資產資料夾(
folder
) - 要更新的中繼資料屬性和值(
propertyName
和propertyValue
) - 檔案的本機路徑,提供存取AEM as a Cloud Service所需的認證(
file
)
- 要連線的AEM as a Cloud Service Author服務主機(
-
用於驗證AEM的存取權杖衍生自透過命令列引數
file
提供的JSON檔案a.如果在JSON檔案(
file
)中提供用於非本機開發的服務認證,則會從Adobe IMS API擷取存取權杖 -
應用程式使用存取權杖來存取AEM,並列出在命令列引數
folder
中指定的資料夾中的所有資產 -
針對資料夾中的每個資產,應用程式會根據命令列引數
propertyName
和propertyValue
中指定的屬性名稱和值更新其中繼資料
雖然此範例應用程式為Node.js,但這些互動可以使用不同的程式設計語言開發,並從其他外部系統執行。
本機開發存取權杖
本機開發存取權杖是為特定AEM as a Cloud Service環境產生的,可讓您存取作者和Publish服務。 這些存取權杖為暫時性,僅供在開發透過HTTP與AEM互動的外部應用程式或系統時使用。 開發人員不必取得及管理好記的服務認證,而是可以快速輕鬆地自行產生暫時存取權杖,好讓他們開發整合。
服務認證
服務憑證是任何非開發情況(最明顯的是生產情況)中使用的真實憑證,可促進外部應用程式或系統透過HTTP向AEM as a Cloud Service驗證及與互動。 服務憑證本身不會傳送給AEM進行驗證,而是由外部應用程式使用這些憑證來產生JWT,再與Adobe IMS的API 交換 存取權杖,然後使用後者來向AEM as a Cloud Service驗證HTTP請求。
其他資源
-
JWT建立與交換的其他程式碼範例