設定基於 OpenAPI 的 AEM API

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

在此範例中,使用​ 伺服器對伺服器 ​驗證方法的​ AEM Assets API ​用於示範OpenAPI型AEM API設定程式。 您可以依照類似的步驟設定其他OpenAPI型AEM API

高層級設定程式涉及下列步驟:

  1. AEM as a Cloud Service環境的現代化。
  2. 啟用AEM API存取權。
  3. 建立Adobe Developer Console (ADC)專案。
  4. 設定ADC專案。
  5. 設定AEM執行個體以啟用ADC專案通訊。

先決條件

  • 存取Cloud Manager和AEM as a Cloud Service環境
  • 存取Adobe Developer Console (ADC)。
  • api.yaml檔案中新增或更新API設定的AEM專案。

AEM as a Cloud Service環境的現代化 modernization-of-aem-as-a-cloud-service-environment

AEM as a Cloud Service環境的現代化是每個環境活動​一次性的,其中涉及以下步驟。 如果您已更新AEM as a Cloud Service環境,可略過此步驟。

  • 更新至AEM版本​ 2024.10.18459.20241031T210302Z ​或更新版本。
  • 如果環境是在2024.10.18459.20241031T210302Z版之前建立,請新增產品設定檔。

更新AEM執行個體 update-aem-instance

  • 若要更新AEM執行個體,請在登入Adobe Cloud Manager後,導覽至​ 環境 ​區段,選取環境名稱旁的​ 省略符號 ​圖示,然後選取​ 更新 ​選項。

更新AEM執行個體

  • 然後按一下​ 提交 ​按鈕並執行​ 建議 ​全棧疊管道。

選取最新的AEM發行版本

在我的案例中,Fullstack管道名為​Dev :: Fullstack-Deploy,而AEM環境名為​wknd-program-dev。 您的名稱可能不同。

新增產品設定檔 add-new-product-profiles

  • 若要將產品設定檔新增至AEM執行個體,請在Adobe Cloud Manager的​ 環境 ​區段中,選取環境名稱旁的​ 省略符號 ​圖示,並選取​ 新增產品設定檔 ​選項。

新增產品設定檔

  • 按一下環境名稱旁的​ 省略符號 ​圖示,並選取​管理存取權 > 作者設定檔,以檢閱新新增的產品設定檔。

  • Admin Console​視窗會顯示新新增的產品設定檔。 根據您的AEM權益,如AEM Assets、AEM Sites、AEM Forms等,您可能會看到不同的產品設定檔。 例如,我擁有AEM Assets和Sites許可權,因此可檢視下列產品設定檔。

檢閱新產品設定檔

  • 上述步驟已完成AEM as a Cloud Service環境的現代化。

啟用AEM API存取權 enable-aem-apis-access

新產品設定檔​的存在會在Adobe Developer Console (ADC)中啟用OpenAPI型AEM API存取。 如果沒有這些產品設定檔,您就無法在Adobe Developer Console (ADC)中設定OpenAPI型AEM API。

新增的產品設定檔與​ 服務 ​相關聯,這些服務代表​ 具有預先定義存取控制清單(ACL) ​的AEM使用者群組。 服務​是用來控制AEM API的存取層級。 您也可以選取或取消選取與產品設定檔相關聯的​服務,以減少或增加存取層級。

按一下產品設定檔名稱旁的​ 檢視詳細資料 ​圖示,即可檢閱關聯。 在下列熒幕擷圖中,您可以看到​ AEM Sites內容管理員 — 作者 — 方案XXX — 環境XXX ​產品設定檔與​ AEM Sites內容管理員 ​服務的關聯。 檢閱其他產品設定檔及其與「服務」的關聯。

檢閱與產品設定檔關聯的服務

啟用AEM Assets API存取權 enable-aem-assets-apis-access

在此範例中,AEM Assets API​用於示範OpenAPI型AEM API設定程式。 不過,依預設,AEM Assets API Users​服務未與任何產品設定檔建立關聯。 您需要將其與所需的產品設定檔建立關聯。

讓我們將其與新新增的​ AEM Assets Collaborator使用者 — 作者 — 方案XXX — 環境XXX ​產品設定檔或您要用於AEM Assets API存取的任何其他產品設定檔建立關聯。

將AEM Assets API使用者服務與產品設定檔建立關聯

啟用伺服器對伺服器驗證

若要針對所需的OpenAPI型AEM API啟用伺服器對伺服器驗證,使用Adobe Developer Console (ADC)設定整合的使用者必須作為開發人員新增至與​ 服務 ​相關聯的​產品設定檔

例如,若要啟用AEM Assets API的伺服器對伺服器驗證,使用者必須新增為開發人員至​AEM Assets Collaborator使用者 — 作者 — 方案XXX — 環境XXX 產品設定檔

將開發人員關聯至產品設定檔

在此關聯之後,ADC專案的​ 資產作者API ​可以設定所需的伺服器對伺服器驗證,並將ADC專案(在下一步中建立)中的驗證帳戶與產品設定檔建立關聯。

IMPORTANT
上述步驟對於啟用所需AEM API的伺服器對伺服器驗證至關重要。 若沒有此關聯,AEM API就無法與伺服器對伺服器驗證方法搭配使用。

透過執行上述所有步驟,您已準備AEM as a Cloud Service環境以啟用OpenAPI型AEM API存取。 接下來,您需要建立Adobe Developer Console (ADC)專案,以設定OpenAPI型AEM API。

建立Adobe Developer Console (ADC)專案 adc-project

Adobe Developer Console (ADC)專案是用來設定OpenAPI型AEM API。 回想一下,Adobe Developer Console (ADC)是存取Adobe API、SDK、即時事件、無伺服器函式等的開發人員中心。

ADC專案用於新增所需的API、設定其驗證,以及將驗證帳戶與產品設定檔建立關聯。

若要建立ADC專案:

  1. 使用您的Adobe ID登入Adobe Developer Console

    Adobe Developer Console

  2. 在​ 快速入門 ​區段中,按一下​ 建立新專案 ​按鈕。

    建立新專案

  3. 它會以預設名稱建立新專案。

    已建立新專案

  4. 按一下右上角的​ 編輯專案 ​按鈕以編輯專案名稱。 提供有意義的名稱,然後按一下[儲存]。

    編輯專案名稱

設定ADC專案 configure-adc-project

建立ADC專案後,您必須新增所需的AEM API、設定其驗證,並將驗證帳戶與產品設定檔建立關聯。

在此案例中,AEM Assets API​用於示範OpenAPI型AEM API設定程式。 不過,您可以依照類似的步驟,新增其他OpenAPI型AEM API (例如​AEM Sites APIAEM Forms API​等)。 AEM許可權會決定Adobe Developer Console (ADC)中可用的API。

  1. 若要新增AEM API,請按一下​ 新增API ​按鈕。

    新增API

  2. 在​ 新增API ​對話方塊中,依​ Experience Cloud ​篩選,並選取所需的AEM API。 例如,在此案例中,已選取​資產作者API

    新增AEM API

    note tip
    TIP
    如果所需的​ AEM API卡 ​已停用,且​_為什麼此卡已停用?_​資訊顯示​ 需要授權 ​訊息,其中一個原因可能是您尚未更新AEM as a Cloud Service環境,如需詳細資訊,請參閱更新AEM as a Cloud Service環境
  3. 接下來,在​ 設定API ​對話方塊中,選取所需的驗證選項。 例如,在此案例中,已選取​ 伺服器對伺服器 ​驗證選項。

    選取驗證

    伺服器對伺服器驗證適用於需要API存取而不需使用者互動的後端服務。 「網頁應用程式」和「單頁應用程式」驗證選項適用於需要代表使用者存取API的應用程式。 如需詳細資訊,請參閱​ OAuth伺服器對伺服器與Web應用程式與單頁應用程式認證之間的差異

    note tip
    TIP
    如果您沒有看到「伺服器對伺服器」驗證選項,這表示設定整合的使用者不會新增為開發人員至與服務相關聯的產品設定檔。 如需詳細資訊,請參閱啟用伺服器對伺服器驗證
  4. 如有需要,您可以重新命名API以方便識別。 為了示範目的,會使用預設名稱。

    重新命名認證

  5. 在此情況下,驗證方法是​OAuth伺服器對伺服器,因此您需要將驗證帳戶與產品設定檔建立關聯。 選取​ AEM Assets Collaborator使用者 — 作者 — 方案XXX — 環境XXX ​產品設定檔,然後按一下​儲存

    選取產品設定檔

  6. 檢閱AEM API和驗證設定。

    AEM API設定

    驗證組態

如果您選擇​ OAuth網頁應用程式 ​或​ OAuth單頁應用程式 ​驗證方法,將不會提示產品設定檔關聯,但需要應用程式重新導向URI。 應用程式重新導向URI用於在透過授權碼進行驗證後,將使用者重新導向至應用程式。 相關使用案例教學課程會概述此類驗證特定配置。

設定AEM執行個體以啟用ADC專案通訊 configure-aem-instance

接下來,您需要設定AEM執行個體以啟用上述ADC專案通訊。 使用此設定時,ADC專案的ClientID無法與AEM執行個體通訊,導致了403禁止錯誤。 將此設定視為防火牆規則,僅允許允許允許的ClientID與AEM執行個體通訊。

讓我們依照設定AEM執行個體的步驟來啟用上述ADC專案通訊。

  1. 在本機電腦上,導覽至AEM專案(或複製專案(如果尚未複製),然後找到config資料夾。

  2. 在AEM專案中,從api.yaml資料夾中找到或建立config檔案。 以我為例,AEM WKND Sites專案是用來示範OpenAPI型AEM API設定程式。

    找出API YAML

  3. 將下列設定新增至api.yaml檔案,以允許ADC專案的ClientID與AEM執行個體通訊。

    code language-yaml
    kind: "API"
    version: "1.0"
    metadata:
        envTypes: ["dev", "stage", "prod"]
    data:
        allowedClientIDs:
            author:
            - "<ADC Project's Credentials ClientID>"
    

    以ADC專案的認證值的實際ClientID取代<ADC Project's Credentials ClientID>。 此教學課程中使用的API端點僅可在作者層級使用,但對於其他API,yaml設定也可以有​ 發佈 ​或​ 預覽 ​節點。

    note caution
    CAUTION
    為了示範,所有環境都會使用相同的ClientID。 建議您針對每個環境(開發、階段、生產)使用個別的ClientID,以提升安全性和控制能力。
  4. 提交設定變更並將變更推送到Cloud Manager管道所連線的遠端Git存放庫。

  5. 在Cloud Manager中使用設定管道部署上述變更。

    部署YAML

請注意,api.yaml檔案也可以使用命令列工具安裝在RDE中。 在將設定變更部署到生產環境之前,這非常有用。

後續步驟

將AEM執行個體設定為啟用ADC專案通訊後,您就可以開始使用以OpenAPI為基礎的AEM API。 了解如何運用使用不同 OAuth 驗證方式的基於 OpenAPI 的 AEM API:

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

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

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

了解更多

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

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

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

了解更多

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

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

瞭解如何使用OAuth 2.0 PKCE流程,從自訂單頁應用程式(SPA)叫用OpenAPI型AEM API。

了解更多

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