AEM會公開各種HTTP端點,可以無周邊方式互動,從GraphQL、AEM Content Services到Assets HTTP API。 這些無頭消費者通常需要向AEM驗證,才能存取受保護的內容或動作。 為方便執行此作業,AEM支援來自外部應用程式、服務或系統之HTTP要求的權杖式驗證。
在本教學課程中,請進一步了解外部應用程式如何使用存取權杖,以程式設計方式驗證AEM,並與作為HTTPCloud Service互動。
遵循本教學課程之前,請確定已具備下列條件:
本教學課程使用從命令列執行的簡單Node.js應用程式,以使用Assets HTTP API更新AEM上的資產中繼資料作為Cloud Service。
Node.js應用程式的執行流程如下:
從命令行調用Node.js應用程式
命令行參數定義:
aem
)的AEM作為Cloud Service製作服務主機folder
)propertyName
和propertyValue
)file
)用於驗證AEM的存取權杖衍生自透過命令列參數file
提供的JSON檔案
a.若JSON檔案(file
)中提供用於非本機開發的服務憑證,則會從AdobeIMS API擷取存取權杖
應用程式使用存取權杖來存取AEM,並列出命令列參數folder
中指定之資料夾中的所有資產
對於資料夾中的每個資產,應用程式會根據命令行參數propertyName
和propertyValue
中指定的屬性名稱和值更新其元資料
雖然此示例應用程式是Node.js,但這些交互可以使用不同的寫程式語言開發,並從其他外部系統執行。
本機開發存取權杖會針對特定AEM產生,作為Cloud Service環境,並提供製作和發佈服務的存取權。 這些存取權杖為暫時性的,僅用於開發透過HTTP與AEM互動的外部應用程式或系統。 與其讓開發人員必須取得及管理妥善的服務憑證,他們可以快速且輕鬆地自行產生暫時存取權杖,以便開發其整合。
服務認證是用於任何非開發案例(最明顯的是生產案例)的合用認證,可促進外部應用程式或系統驗證AEM並透過HTTP與其互動的Cloud Service。 服務憑證本身不會傳送至AEM進行驗證,而是外部應用程式會使用這些憑證來產生JWT,並與AdobeIMS的API 交換的存取權杖,之後存取權杖便可用來驗證AEM作為Cloud Service的HTTP要求。