OAuth服务器到服务器身份验证

OAuth服务器到服务器身份验证允许对AEM Forms Communications API进行基于令牌的安全访问,而无需用户交互。 Adobe Developer Console支持OAuth服务器到服务器身份验证。

先决条件

在开始之前,请确保满足以下先决条件:

如何使用OAuth服务器到服务器身份验证生成访问令牌?

按照以下步骤从Adobe Developer控制台生成访问令牌,并通过OAuth服务器到服务器身份验证进行首次API调用。

​1. Adobe Developer Console项目设置

  1. 导航到Adobe Developer Console

  2. 使用您的Adobe ID登录

  3. 创建新项目或导航到现有项目

创建新项目
  1. 在​ 快速入门 ​部分中,单击​新建项目

  2. 使用默认名称创建新项目

    创建ADC项目

  3. 单击右上角的​编辑项目

    编辑项目

  4. 提供有意义的名称(例如“formsproject”)

  5. 单击​保存

    编辑项目名称

导航到现有项目
  1. 从Adobe Developer Console单击​所有项目

    搜索项目

  2. 找到您的项目并单击以将其打开。

    查找项目

2.添加Forms API

根据您想要执行的操作添加Forms API:

  • AEM Forms Communications API:在需要生成、转换、汇编或保护文档(PDF和相关格式)时使用。
  • 自适应Forms运行时API — 在运行时需要渲染、提交或处理自适应Forms时使用。
用于AEM Forms Communications API的
  1. 单击​添加API

    添加API

  2. 选择​Forms通信API

    1. 在​ 添加API ​对话框中,按​ Experience Cloud ​筛选

    2. 选择​“Forms通信API”

      添加Forms通信API

    3. 点击​下一个

    4. 选择​ OAuth服务器到服务器 ​身份验证方法

      选择身份验证方法

自适应Forms运行时API的
  1. 单击添加API

    添加API

  2. 选择AEM Forms交付和运行时API

    1. 在​ 添加API ​对话框中,按​ Experience Cloud ​筛选

    2. 选择​“AEM Forms交付和运行时API”
      添加Forms通信API

    3. 点击​下一个

    4. 选择​ OAuth服务器到服务器 ​身份验证方法。
      选择身份验证方法

您还可以通过单击​添加到项目 > API,将API和身份验证方法添加到现有项目
将API添加到现有项目

3.添加产品配置文件

产品配置文件为访问AEM资源的凭据提供权限(或授权)。

  1. 选择与您的AEM实例URL ()匹配的​产品配置文件https://Service Type -Environment Type-Program XXX-Environment XXX.adobeaemcloud.com

    • 服务类型 — 指定与AEM实例关联的服务或权限

    • 环境类型 — 指定环境是用于Author还是Publish服务

    • 项目XXX — 标识Cloud Manager项目ID

    • 环境XXX — 标识该项目中的特定环境ID

    note note
    NOTE
    产品配置文件与特定AEM实例(项目+环境)关联。 始终选择与实例URL匹配的配置文件。
  2. 单击​保存配置的 API。API和产品配置文件已添加到您的项目中

    选择项目配置

4.生成并保存凭据

  1. 在Adobe Developer Console中导航到项目

  2. 单击​ OAuth服务器到服务器 ​凭据

  3. 查看​ 凭据详细信息 ​部分

    查看凭据

记录API凭据

    API Credentials:
    ================
    Client ID: <your_client_id>
    Client Secret: <your_client_secret>
    Technical Account ID: <tech_account_id>
    Organization ID: <org_id>
    Scopes: AdobeID,openid,read_organizations

5.访问令牌生成

手动或以编程方式生成访问令牌:

用于测试的

在Adobe Developer Console中手动生成访问令牌:

  1. 导航到您的项目

    1. 在Adobe Developer Console中,打开您的项目
    2. 单击​OAuth服务器到服务器
  2. 生成访问令牌

    1. 单击项目API部分中的​ “生成访问令牌” ​按钮
    2. 复制生成的访问令牌

    生成访问令牌

    note note
    NOTE
    访问令牌仅在​ 24小时 ​内有效
用于生产的

使用Adobe IMS API以编程方式生成令牌:

必需的凭据:

  • 客户端 ID
  • 客户端密码
  • 范围(通常: openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_cloud, aem.document

令牌终结点:

code language-none
https://ims-na1.adobelogin.com/ims/token/v3

示例请求(curl):

code language-bash
curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials' \
-d 'client_id=<YOUR_CLIENT_ID>' \
-d 'client_secret=<YOUR_CLIENT_SECRET>' \
-d 'scope=AdobeID,openid,read_organizations'

响应:

code language-json
    {
    "access_token": "eyJhbGciOiJSUz...",
    "token_type": "bearer",
    "expires_in": 86399
    }

您现在可以使用生成的访问令牌为开发、暂存或生产环境进行API调用。

最佳实践:管理开发、暂存和生产凭据

  • 始终使用单独的凭据进行“开发”、“暂存”和“生产”。

  • 将每个凭据映射到正确的AEM环境URL。

  • 安全地存储密钥,绝不会将其提交到源代码管理。

  • 跟踪访问令牌的有效性,因为令牌仅在24小时内有效。

后续步骤

要了解如何设置同步Forms通信API的环境,请参阅AEM Forms as a Cloud Service通信同步处理

相关文章

了解如何为同步(按需)和异步(批处理) Forms Communications API设置环境:

同步API

AEM Forms Communications API — 同步

了解如何为同步(按需)Forms Communications API设置环境,以即时生成或处理文档。

了解详情

异步API

AEM Forms Communications API — 异步(批次)

了解如何为异步(批处理)Forms Communications API设置环境,以计划方式生成或处理多个文档。

了解详情

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab