设置基于 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 Users - author - Program XXX - Environment XXX Product Profile或任何其他要用于AEM Assets API访问的产品配置文件关联。

将AEM Assets API Users服务与产品配置文件关联

启用服务器到服务器身份验证

要为所需的基于OpenAPI的AEM API启用服务器到服务器身份验证,使用Adobe Developer Console (ADC)设置集成的用户必须作为开发人员添加到与​ 服务 ​关联的​产品配置文件

例如,要为AEM Assets API启用服务器到服务器身份验证,必须将用户作为开发人员添加到​AEM Assets Collaborator Users - author - Program XXX - Environment 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访问而不需要用户交互的后端服务。 Web应用程序和单页应用程序身份验证选项适用于需要代表用户进行API访问的应用程序。 有关详细信息,请参阅OAuth服务器到服务器与Web应用程序与单页应用程序凭据之间的区别

    note tip
    TIP
    如果您看不到服务器到服务器身份验证选项,则意味着设置集成的用户不会作为开发人员添加到与服务相关联的产品配置文件中。 有关详细信息,请参阅启用服务器到服务器身份验证
  4. 如果需要,可以重命名API以便于识别。 出于演示目的,使用默认名称。

    重命名凭据

  5. 在这种情况下,身份验证方法是​OAuth服务器到服务器,因此您需要将身份验证帐户与产品配置文件关联。 选择​AEM Assets Collaborator Users - author - Program XXX - Environment XXX Product Profile,然后单击​保存

    选择产品配置文件

  6. 审查AEM API和身份验证配置。

    AEM API配置

    身份验证配置

如果您选择​ OAuth Web应用程序 ​或​ 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 Project's Credentials ClientID>替换为ADC项目凭据值的实际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。

了解详情

使用 Web 应用身份验证调用 API

使用 Web 应用身份验证调用 API

了解如何使用 OAuth Web App 身份验证从自定义 Web 应用程序调用基于 OpenAPI 的 AEM API。

了解详情

使用单页应用程序身份验证调用 API

使用单页应用程序身份验证调用 API

了解如何使用OAuth 2.0 PKCE流程从自定义单页应用程序(SPA)调用基于OpenAPI的AEM API。

了解详情

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