對 AEM as a Cloud Service 進行權杖型驗證
- 適用對象:
- Experience Manager as a Cloud Service
- 主題:
- API
建立對象:
- 中繼
- 經驗豐富
- 開發人員
AEM 公開各種可以透過無周邊方式進行互動的 HTTP 端點,包括 GraphQL、AEM 內容服務以及 Assets HTTP API。通常,這些無周邊使用者需要向 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 環境所產生的,並提供對 Author 與 Publish 服務的存取權。這些存取權杖是臨時的,僅在開發透過 HTTP 與 AEM 互動之外部應用程式或系統期間使用。開發人員不需要取得和管理真正的服務認證,而是可以快速輕鬆地自行產生臨時存取權杖,方便他們開發整合功能。
服務認證
服務認證是在任何非開發情境 (最明顯的是生產情境) 中所使用的真實認證,可協助外部應用程式或系統透過 HTTP 與 AEM as a Cloud Service 進行驗證和互動。服務認證本身不會發送到 AEM 進行驗證,反而是外部應用程式會使用這些認證產生 JWT,並與 Adobe IMS 的 API 交換 取得 存取權杖,然後使用該權杖來驗證對 AEM as a Cloud Service 發出的 HTTP 要求。
其他資源
-
JWT 建立和交換的其他程式碼範例