设置基于 OpenAPI 的 AEM API
了解如何设置您的 AEM as a Cloud Service 环境,以允许访问基于 OpenAPI 的 AEM API。
在此示例中,使用使用服务器到服务器身份验证方法的AEM Assets API来演示设置过程。 其他基于OpenAPI的AEM API也可以执行相同的步骤。
高级设置过程涉及以下步骤:
- AEM as a Cloud Service环境的现代化。
- 启用AEM API访问。
- 创建Adobe Developer Console (ADC)项目。
- 配置ADC项目。
- 配置AEM实例以启用ADC项目通信。
AEM as a Cloud Service环境的现代化 modernization-of-aem-as-a-cloud-service-environment
AEM as a Cloud Service环境的现代化是一项针对每个环境的一次性活动,其中涉及以下步骤:
- 更新至AEM版本 2024.10.18459.20241031T210302Z 或更高版本。
- 如果环境是在版本2024.10.18459.20241031T210302Z之前创建的,请向其中添加新的产品配置文件。
更新AEM实例 update-aem-instance
要更新AEM实例,请在Adobe Cloud Manager的 环境 部分中,选择环境名称旁边的 省略号 图标,然后选择 更新 选项。
然后单击 提交 按钮并运行 建议 全栈管道。
在我的示例中,Fullstack管道名为 Dev :: Fullstack-Deploy,AEM环境名为 wknd-program-dev。 你的名字可能不同。
添加新产品配置文件 add-new-product-profiles
要将新产品配置文件添加到AEM实例,请在Adobe Cloud Manager的 环境 部分中,选择环境名称旁边的 省略号 图标,然后选择 添加产品配置文件 选项。
您可以通过单击环境名称旁边的 省略号 图标并选择 管理访问权限 > 作者配置文件 来查看新添加的产品配置文件。
Admin Console 窗口显示新添加的产品配置文件。
以上步骤完成了AEM as a Cloud Service环境的现代化。
启用AEM API访问 enable-aem-apis-access
存在 新产品配置文件 可在Adobe Developer Console (ADC)中启用基于OpenAPI的AEM API访问。 请记住,Adobe Developer Console (ADC)是用于访问Adobe API、SDK、实时事件、无服务器函数等的开发人员中心。
新添加的产品配置文件与 服务 关联,这些服务代表 具有预定义访问控制列表(ACL) 的AEM用户组。 服务 用于控制对AEM API的访问级别。
您还可以选择或取消选择与产品配置文件关联的 服务,以减少或增加访问级别。
通过单击产品配置文件名称旁边的 查看详细信息 图标来查看关联。
启用AEM Assets API访问 enable-aem-assets-apis-access
默认情况下,AEM Assets API Users 服务不与任何产品配置文件关联。 让我们将其与新添加的 AEM Assets Collaborator Users - author - Program XXX - Environment XXX Product Profile或任何其他要用于AEM Assets API访问的产品配置文件关联。
启用服务器到服务器身份验证
要为所需的AEM API启用服务器到服务器身份验证,使用Adobe Developer Console (ADC)设置集成的用户必须以开发人员身份添加到与服务相关联的产品配置文件中。
例如,要为AEM Assets API启用服务器到服务器身份验证,必须将用户作为开发人员添加到 AEM Assets Collaborator Users - author - Program XXX - Environment XXX 产品配置文件。
在此关联后,ADC项目的 资产创作API 可以设置所需的服务器到服务器身份验证,并将ADC项目(在下一步中创建)中的身份验证帐户与产品配置文件关联。
创建Adobe Developer Console (ADC)项目 adc-project
ADC项目用于添加所需的API、设置其身份验证并将身份验证帐户与产品配置文件关联。
创建ADC项目:
-
使用您的Adobe ID登录Adobe Developer Console。
-
在 快速入门 部分中,单击 新建项目 按钮。
-
这会创建一个具有默认名称的新项目。
-
通过单击右上角的 编辑项目 按钮编辑项目名称。 提供一个有意义的名称,然后单击 保存。
配置ADC项目 configure-adc-project
创建ADC项目后,您必须添加所需的AEM API,设置其身份验证,并将身份验证帐户与产品配置文件关联。
-
要添加AEM API,请单击 添加API 按钮。
-
在 添加API 对话框中,按 Experience Cloud 进行筛选,然后选择所需的AEM API。 例如,在本例中,选择了 资产创作API。
note tip TIP 如果所需的 AEM API卡 已禁用,为什么禁用了此卡? 信息显示 需要许可证 消息,原因之一可能是您没有使您的AEM as a Cloud Service环境现代化,有关详细信息,请参阅AEM as a Cloud Service环境现代化。 -
接下来,在 配置API 对话框中,选择所需的身份验证选项。 例如,在本例中,选择了 服务器到服务器 身份验证选项。
服务器到服务器身份验证非常适用于需要API访问而不需要用户交互的后端服务。 Web应用程序和单页应用程序身份验证选项适用于需要代表用户进行API访问的应用程序。 有关详细信息,请参阅OAuth服务器到服务器与Web应用程序与单页应用程序凭据之间的区别。
note tip TIP 如果您看不到服务器到服务器身份验证选项,则意味着设置集成的用户不会作为开发人员添加到与服务相关联的产品配置文件中。 有关详细信息,请参阅启用服务器到服务器身份验证。 -
如果需要,可以重命名API以便于识别。 出于演示目的,使用默认名称。
-
在这种情况下,身份验证方法是 OAuth服务器到服务器,因此您需要将身份验证帐户与产品配置文件关联。 选择 AEM Assets Collaborator Users - author - Program XXX - Environment XXX Product Profile,然后单击 保存。
-
审查AEM API和身份验证配置。
如果您选择 OAuth Web应用程序 或 OAuth单页应用程序 身份验证方法,则不会提示产品配置文件关联,但需要应用程序重定向URI。 应用程序重定向URI用于在通过授权码进行身份验证后将用户重定向到应用程序。 相关用例教程概述了此类特定于身份验证的配置。
配置AEM实例以启用ADC项目通信 configure-aem-instance
要使ADC项目的ClientID能够与AEM实例通信,您需要配置AEM实例。
此操作可通过在YAML文件中定义API配置,并使用Cloud Manager中的配置管道来部署它。 YAML文件定义了可以与AEM实例通信的ADC项目中允许的ClientID。
-
在AEM项目中,从
config
文件夹中找到或创建api.yaml
文件。 -
将以下配置添加到
api.yaml
文件。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,以便更好地进行安全和控制。 -
提交配置更改并将更改推送到Cloud Manager管道所连接的远程Git存储库。
-
使用Cloud Manager中的配置管道来部署上述更改。 请注意,
api.yaml
文件也可以使用命令行工具安装在RDE中。
后续步骤
一旦将AEM实例配置为启用ADC项目通信,您就可以开始使用基于OpenAPI的AEM API。 了解如何使用不同的 OAuth 身份验证方法,来使用基于 OpenAPI 的 AEM API: