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
按照以下步骤解决问题
-
验证所需的OAuth范围
- 在Adobe Developer Console中,打开相关的项目和API集成。
- 确保选择AEM Assets API所需的所有范围。 请参阅AEM API文档,以获取所需作用域的列表(例如,
openid、AdobeID、read、write等)。
-
更新集成配置
- 如果缺少任何所需的范围,请编辑集成并添加它们。
- 如果适用,请保存更改并重新下载更新的服务凭据(JSON文件)。
-
重新生成并使用新访问令牌
- 使用更新的凭据请求新的访问令牌。
- 确保令牌请求在
scope参数中包含所有必需的范围。
-
测试API访问
- 使用新访问令牌重试API调用。
- 如果错误仍然存在,请验证集成在Admin Console中是否正确链接,以及外部应用程序的重定向URL是否与配置匹配。
recommendation-more-help
experience-cloud-kcs-help-kbarticles