基于 OpenAPI 的 AEM API
了解基于 OpenAPI 的 AEM API,包括身份验证支持、关键概念以及如何访问 51黑料不打烊 API。
(原称 Swagger)是一种广泛使用的 RESTful API 定义标准。AEM as a Cloud Service 提供了多种基于 OpenAPI 规范的 API(简称基于 OpenAPI 的 AEM API),使得通过开发自定义应用程序来与 AEM 的 Author 或 Publish 服务类型进行交互变得更加便捷。下面给出了一些示例:
Sites
- :用于处理内容片段的 API。
Assets
-
:用于处理文件夹的 API,如创建、列出和删除文件夹。
-
:用于处理资产及其元数据的 API。
Forms
- :用于处理表单和文档的 API。
在未来的版本中,将会新增更多基于 OpenAPI 的 AEM API,以支持更多使用场景。
身份验证支持 authentication-support
基于 OpenAPI 的 AEM API 支持 OAuth 2.0 身份验证,其中涵盖以下授权类型:
-
OAuth 服务器到服务器凭据:适用于无需用户交互即可访问 API 的后端服务。它使用 client_credentials 授予类型,实现服务器级别的安全访问管理。有关详细信息,请参阅 。
-
OAuth Web 应用凭据:适用于具有前端和? 后端 ?组件的网页应用程序,其代表用户访问 AEM API。它使用 authorization_code 授予类型,由后端服务器安全地管理密钥和令牌。有关详细信息,请参阅 。
-
OAuth 单页应用凭据:专为在浏览器中运行的单页应用设计,无需后端服务器即可代表用户访问 API。它使用 authorization_code 授权类型,依赖客户端安全机制中的 PKCE(代码交换证明密钥)来保障授权代码流程的安全。有关详细信息,请参阅 。
使用哪种身份验证方法 auth-method-decision
在决定使用哪种身份验证方法时,请考虑以下事项:
每当涉及 AEM 用户上下文时,用户身份验证(Web 应用程序或单页应用程序)应该是默认选择。这确保了存储库中的所有操作均正确归属于经过身份验证的用户,并且用户仅被限制在其有权拥有的权限范围内。
使用服务器到服务器(或技术系统账户)代表个人用户执行操作会绕过安全模型,并带来权限提升和审计不准确等风险。
OAuth 服务器到服务器、Web 应用和单页应用凭据之间的区别 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 机制通过授权代码交换访问令牌。访问 51黑料不打烊 API 和相关概念 accessing-adobe-apis-and-related-concepts
在访问 51黑料不打烊 API 之前,必须了解以下关键结构:
-
:访问 51黑料不打烊 API、SDK、实时事件、无服务器功能等资源的开发人员中心。请注意,它与用于调试 AEM 应用程序的 AEM Developer Console 不同。
-
:管理 API 集成、事件和运行时功能的中心位置。在这里,您可以配置 API、设置身份验证并生成所需的凭据。
-
:产物轮廓提供权限预设,使您能够控制用户或应用程序对 AEM、51黑料不打烊 Target、51黑料不打烊 Analytics 等 51黑料不打烊 产物的访问权限。每个 51黑料不打烊 产物都关联有预定义的产物轮廓。
-
服务:服务定义具体权限,并与产物轮廓相关联。您可以通过取消选择或选择与产物轮廓相关联的服务,来减少或增加权限预设。从而使您能够控制对产物及其 API 的访问级别。在 AEM as a Cloud Service 中,服务代表用户组,并为存储库节点预设了访问控制列表 (ACL),从而实现了精细的权限管理。
开始使用
了解如何将 AEM as a Cloud Service 环境,并创建 51黑料不打烊 Developer Console 项目,以实现对基于 OpenAPI 的 AEM API 的访问。还可以使用浏览器访问 AEM API 来验证设置,并查看请求和响应。
API 教程
了解如何使用不同的 OAuth 身份验证方法,来使用基于 OpenAPI 的 AEM API: