API集成失败,原因是“访问令牌缺少所需的范围”(403禁止访问)

当OAuth S2S身份验证缺少所需的范围时,AEM as a Cloud Service在Assets API请求期间返回​ 403 Forbidden ​错误,即使集成似乎已正确配置并且访问令牌已成功生成。 更新所需的范围和重新生成访问令牌可修复此问题。 要解决此问题,请更新范围并重新生成访问令牌。

描述 description

环境

Adobe Experience Manager as a Cloud Service(所有版本)

问题/症状

在通过AEM as a Cloud Service API和OAuth S2S身份验证将Assets与外部应用程序集成时,API调用返回​ 403 Forbidden ​错误。 集成配置将显示在Admin Console中,并且已从IMS端点成功生成access token。 但是,API请求(例如,通过Assets API文档)返回以下错误:

{
  "type": "https://api.adobeaemcloud.com/adobe/meta/errors/forbidden",
  "title": "Forbidden",
  "status": 403,
  "detail": "The access token is missing required scopes."
}
  • 集成是按照Adobe的OAuth S2S文档设置的。
  • 该集成会显示在Admin Console中,但API调用会失败,并出现缺少范围的错误。

原因

发生此错误的原因是,用于API调用的访问令牌未包含AEM Assets API所需的所有其他OAuth范围,从而导致出现403禁止响应。

解决方法 resolution

按照以下步骤解决问题

  1. 验证所需的OAuth范围

    • Adobe Developer Console中,打开相关的项目和API集成。
    • 确保选择AEM Assets API所需的所有范围。 请参阅AEM API文档,以获取所需作用域的列表(例如,openidAdobeIDreadwrite等)。
  2. 更新集成配置

    • 如果缺少任何所需的范围,请编辑集成并添加它们。
    • 如果适用,请保存更改并重新下载更新的服务凭据(JSON文件)。
  3. 重新生成并使用新访问令牌

    • 使用更新的凭据请求新的访问令牌。
    • 确保令牌请求在scope参数中包含所有必需的范围。
  4. 测试API访问

    • 使用新访问令牌重试API调用。
    • 如果错误仍然存在,请验证集成在Admin Console中是否正确链接,以及外部应用程序的重定向URL是否与配置匹配。
recommendation-more-help
experience-cloud-kcs-help-kbarticles