基於 OpenAPI 的 AEM API
了解基於 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。
在未來的版本中,將會增加更多基於 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 驗證方式之間的差異:
client_id
、client_secret
) 儲存於後端系統中。client_id
、client_secret
) 儲存於後端系統中,藉以交換存取權杖的授權碼。client_secret
,因為將其儲存在前端應用程式中並不安全。依靠 PKCE 來交換存取權杖的授權碼。存取 Adobe API 和相關概念 accessing-adobe-apis-and-related-concepts
在存取 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 來驗證設定並檢閱要求和回應。
API 教學課程
了解如何運用使用不同 OAuth 驗證方式的基於 OpenAPI 的 AEM API: