基于令牌的AEM身份验证作为Cloud Service

AEM公开了各种可以无头方式交互的HTTP端点,从GraphQL、AEM内容服务到资产HTTP API。 通常,这些无头用户可能需要对AEM进行身份验证才能访问受保护的内容或操作。 为了实现此目的,AEM支持对来自外部应用程序、服务或系统的HTTP请求进行基于令牌的身份验证。

在本教程中,您将详细了解外部应用程序如何使用访问令牌以编程方式验证AEM as a HTTPCloud Service并与之进行交互。

先决条件

在随本教程一起学习之前,请确保已完成以下操作:

  1. 将am AEM作为Cloud Service环境(最好是开发环境或沙盒项目)访问
  2. AEM as aCloud Service环境的创作服务AEM管理员产品配置文件中的成员资格
  3. 您的Adobe IMS组织管理员的成员资格或访问权限(他们必须执行一次性初始化服务凭据
  4. 部署到您的Cloud Service环境的最新WKND Site

外部应用程序概述

本教程使用从命令行运行的简单的Node.js应用程序,以使用Assets HTTP API更新AEM上的资产元数据作为Cloud Service。

Node.js应用程序的执行流程如下所示:

外部应用程序

  1. Node.js应用程序可从命令行调用

  2. 命令行参数定义:

    • 要连接到的AEM as a Cloud Service作者服务主机(aem)
    • 要更新资产的AEM资产文件夹(folder)
    • 要更新的元数据属性和值(propertyNamepropertyValue
    • 文件的本地路径,提供作为Cloud Service访问AEM所需的凭据(file)
  3. 用于对AEM进行身份验证的访问令牌是从通过命令行参数file提供的JSON文件中派生的

    a.如果JSON文件(file)中提供了用于非本地开发的服务凭据,则会从Adobe IMS API中检索访问令牌

  4. 应用程序使用访问令牌访问AEM,并列出命令行参数folder中指定的文件夹中的所有资产

  5. 对于文件夹中的每个资产,应用程序会根据命令行参数propertyNamepropertyValue中指定的属性名称和值更新其元数据

虽然此示例应用程序是Node.js,但这些交互可以使用不同的编程语言开发并从其他外部系统执行。

本地开发访问令牌

特定AEM作为Cloud Service环境并提供对创作和发布服务的访问权限时,会生成本地开发访问令牌。 这些访问令牌是临时的,仅用于开发通过HTTP与AEM交互的外部应用程序或系统。 开发人员不必获取和管理受保护的服务凭据,而是可以快速轻松地自行生成临时访问令牌,以便开发其集成。

服务凭据

服务凭据是任何非开发场景(最明显是生产场景)中使用的绑定凭据,有助于外部应用程序或系统通过HTTP验证AEM作为Cloud Service并与之交互的能力。 服务凭据本身不会发送到AEM进行身份验证,而是外部应用程序会使用这些凭据来生成JWT,JWT会与Adobe IMS的API 交换,以用于​访问令牌,随后,该令牌可用于验证向AEM的HTTP请求作为Cloud Service。

其他资源

在此页面上