基於 OpenAPI 的 AEM API

IMPORTANT
基於 OpenAPI 的 AEM API 只有在 AEM as a Cloud Service 中可以使用,而且與 AEM 6.X 不相容。

了解基於 OpenAPI 的 AEM API,包括驗證支援、主要概念,以及如何存取 Adobe API。

OpenAPI 規格 (以前稱為 Swagger) 是用於定義 RESTful API 的廣泛使用標準。AEM as a Cloud Service 提供多個以 OpenAPI 規格為基礎的 API (或簡單稱為基於 OpenAPI 的 AEM API),因此可以更輕鬆地建立與 AEM 的製作或發佈服務類型互動的自訂應用程式。以下是一些範例:

Sites

  • Sites API:使用內容片段時適用的 API。

資產

  • 資料夾 API:使用資料夾時適用的 API,例如建立、列出和刪除資料夾。

  • 資產製作 API:使用資產及其中繼資料時適用的 API。

表單

在未來的版本中,將會增加更多基於 OpenAPI 的 AEM API 來支援更多使用案例。

驗證支援 authentication-support

基於 OpenAPI 的 AEM API 支援 OAuth 2.0 驗證,包括以下授權憑證類型:

  • OAuth 伺服器對伺服器認證:非常適合需要 API 存取而無使用者互動的後端服務。其使用 client_credentials 授權憑證類型,可以在伺服器層級進行安全存取管理。如需詳細資訊,請參閱 OAuth 伺服器對伺服器認證

  • OAuth 網頁應用程式認證:適用於擁有代表使用者存取 AEM API 的前端和​ 後端 ​元件的網頁應用程式。其使用 authorization_code 授權憑證類型,其中後端伺服器安全地管理密碼和權杖。如需詳細資訊,請參閱 OAuth 網頁應用程式認證

  • OAuth 單頁應用程式認證:專為在瀏覽器中運作的 SPA 所設計,其需要代表使用者存取 API 而無後端伺服器。其使用 authorization_code 授權憑證類型,並依賴使用 PKCE (Proof Key for Code Exchange) 的用戶端安全性機制來保護授權代碼流程。如需詳細資訊,請參閱 OAuth 單頁應用程式認證

要使用哪種驗證方式 auth-method-decision

在決定要使用哪種驗證方式時,請考量以下事項:

要使用哪種驗證方式?

每當涉及 AEM 使用者內容時,使用者驗證 (網頁應用程式或單頁應用程式) 應為預設的選擇。這可確保存放庫中的所有動作都正確歸屬於已驗證的使用者,並且該使用者僅限於其擁有權限的範圍內。
使用伺服器對伺服器 (或技術系統帳戶) 代表個人使用者執行動作,會繞過安全性模型並造成權限提升和不準確稽核等風險。

OAuth 伺服器對伺服器、網頁應用程式以及單頁應用程式認證之間的區別 difference-between-oauth-server-to-server-vs-web-app-vs-single-page-app-credentials

以下表格統整基於 OpenAPI 的 AEM API 支援之三種 OAuth 驗證方式之間的差異:

OAuth 伺服器對伺服器
OAuth 網頁應用程式
OAuth 單頁應用程式 (SPA)
驗證目的
專為機器對機器互動所設計。
專為具有​ 後端 ​之網頁應用程式中的使用者驅動互動所設計。
專為​ 用戶端 JavaScript 應用程式 ​中的使用者驅動互動所設計。
權杖行為
發出代表用戶端應用程式本身的存取權杖。
透過後端 ​發出代表經驗證使用者的存取權杖。
透過僅限前端的流程 ​發出代表經驗證使用者的存取權杖。
使用案例
需要 API 存取而無使用者互動的後端服務。
具有前端和後端元件代表使用者存取 API 的網頁應用程式。
代表使用者存取 API 而無需後端的純前端 (JavaScript) 應用程式。
安全性考量
安全地將敏感認證 (client_idclient_secret) 儲存於後端系統中。
使用者驗證後,會​ 透過後端呼叫授予他們本身的臨時存取權杖。安全地將敏感認證 (client_idclient_secret) 儲存於後端系統中,藉以交換存取權杖的授權碼。
使用者驗證後,會​ 透過前端呼叫授予他們自己的臨時存取權杖。請勿使用 client_secret,因為將其儲存在前端應用程式中並不安全。依靠 PKCE 來交換存取權杖的授權碼。
授權憑證類型
client_credentials
authorization_code
authorization_codePKCE
Adobe Developer Console 認證類型
OAuth 伺服器對伺服器
OAuth 網頁應用程式
OAuth 單頁應用程式
教學課程
使用伺服器對伺服器驗證叫用 API
使用網頁應用程式驗證叫用 API
使用單頁應用程式驗證叫用 API

在存取 Adobe API 之前,必須了解以下關鍵結構:

  • Adobe Developer Console:用於存取 Adobe API、SDK、即時事件、無伺服器功能等的開發人員中心。請注意,其不同於 AEM Developer Console,後者用於針對 AEM 應用程式進行偵錯。

  • Adobe Developer Console 專案:管理 API 整合、事件和執行階段功能的中心位置。在這裡,您可以設定 API、設定驗證,以及產生所需的認證。

  • 產品設定檔:產品設定檔提供權限預設集,讓您可以控制使用者或應用程式對於 Adobe 產品 (如 AEM、Adobe Target、Adobe Analytics 等) 的存取權。每項 Adobe 產品都有與其關聯的預定義產品設定檔。

  • 服務:服務會定義實際權限,並與產品設定檔相關聯。若要減少或增加權限預設集,您可以取消選取或選取與產品設定檔關聯的服務。因此,您可以控制對產品及其 API 的存取權等級。在 AEM as a Cloud Service 中,服務代表擁有存放庫節點之預先定義存取控制清單 (ACL) 的使用者群組,能達到精細的權限管理。

快速入門

了解如何建立 AEM as a Cloud Service 環境和 Adobe Developer Console 專案,以便能夠存取基於 OpenAPI 的 AEM API。也可以使用瀏覽器存取 AEM API 來驗證設定並檢閱要求和回應。

設定基於 OpenAPI 的 AEM API

設定基於 OpenAPI 的 AEM API

了解如何建立您的 AEM as a Cloud Service 環境,以便能夠存取基於 OpenAPI 的 AEM API。

了解更多

API 教學課程

了解如何運用使用不同 OAuth 驗證方式的基於 OpenAPI 的 AEM API:

使用伺服器對伺服器驗證叫用 API

使用伺服器對伺服器驗證叫用 API

了解如何使用 OAuth 伺服器對伺服器驗證,從自訂 NodeJS 應用程式叫用基於 OpenAPI 的 AEM API。

了解更多

使用網頁應用程式驗證叫用 API

使用網頁應用程式驗證叫用 API

了解如何使用 OAuth 網頁應用程式驗證從自訂網頁應用程式叫用基於 OpenAPI 的 AEM API。

了解更多

使用單頁應用程式驗證叫用 API

使用單頁應用程式驗證叫用 API

了解如何使用 OAuth 單頁應用程式驗證從自訂單頁應用程式 (SPA) 叫用基於 OpenAPI 的 AEM API。

了解更多

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69