You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于PKCE授权码流程获取APS 3-Legged Token时遇403错误

总结:
最终发现是fetch请求错误。此外,在答案评论中发现,要使PKCE认证生效,需将code_challenge作为code_verifier发送至/token端点。

问题:APS PKCE认证步骤3返回403 Forbidden错误

我正在构建对接AEC Data Model的SPA,遵循APS的PKCE认证指南,但无法成功实现,具体问题出在“步骤3”,收到“403 Forbidden”错误。

已完成的操作概述

创建应用

我已通过“创建应用”弹窗成功创建了一个“Desktop, Mobile, Single-Page App”,获取了应用的Client ID,并在“API Access”中启用了所有可用API,包括“AEC Data Model API”。该区域提示:

Premium APIs are unavailable for Authorization Code with PKCE grant type.

我认为“AEC Data Model API”并非高级API,因为该API不需要获取令牌,因此这不应成为问题,若我的理解有误请指正。

我的SPA应用

自定义集成

在“Applications”中注册应用后,我将Client ID添加到了组织的自定义集成中。

输入图片描述

OAuth认证(PKCE流程)

我按照认证指南操作:

步骤1:生成code challenge和code verifier

{
    "code_challenge": "eJy4IjlN3Pu8ob27lc07Qw5RESB8lkyhWQlZcdllJf8",
    "code_verifier": "tjPmAq_gC-v91KZ4co9Yw_xiSCCpKX8LfWzKnHO5hRE"
}

随后将用户重定向至包含client_id、redirect_uri、code_challenge等参数的授权URL。

步骤2:获取授权code

完成登录认证流程后,成功获取到code:

{
    "code": "ePJW9yuMwW2cR1co-Xmxq_Qwx629KfmGXYMIaJaO",
    "code_verifier": "tjPmAq_gC-v91KZ4co9Yw_xiSCCpKX8LfWzKnHO5hRE"
}

步骤3:请求访问令牌

发起fetch请求获取访问令牌,端点为认证服务的/token地址,请求内容如下:

{
    "method": "POST",
    "headers": {
        "Content-Type": "application/json; charset=UTF-8"
    },
    "body": "{\"grant_type\":\"authorization_code\",\"client_id\":\"myapplicationclientidwhichihavehiddenhere\",\"code_verifier\":\"tjPmAq_gC-v91KZ4co9Yw_xiSCCpKX8LfWzKnHO5hRE\",\"code\":\"ePJW9yuMwW2cR1co-Xmxq_Qwx629KfmGXYMIaJaO\",\"redirect_uri\":\"http://localhost:5173\"}"
}

请求响应为POST https://developer.api.autodesk.com/authentication/v2/token 403 (Forbidden)。

我不清楚哪里出现了问题,可能的原因是什么?


内容的提问来源于stack exchange,提问作者Ölavur Nón

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:12:32