升级到身份验证 API 的版本 2 后,我们在尝试检索多个 urn(> 9 个 IFC 型号)的访问令牌时似乎遇到错误。
以下是我们如何定义范围参数:
const modelScopes = models
.map((model) => {
const modelUrn = Buffer.from(model.forge_urn, "base64url").toString();
return `data:read:${modelUrn}`;
})
.join(" ");
我们的使用方法如下:
post(FORGE_AUTH_ENDPOINT, {
headers: {
'Authorization': authorizationHeader,
},
form: {
grant_type: "client_credentials",
scope: modelScopes,
},
})
我们之前没有遇到任何问题,但新的 API 版本似乎阻止我们在“modelScopes”参数太长时检索访问令牌。
我们经常使用超过 10 个模型,因此我们需要一种方法来解决这个问题。
编辑:查看此处的文档后,https://aps.autodesk.com/en/docs/oauth/v2/reference/http/authorize-GET/,很明显2000个字符的限制导致了问题。如果可以增加这个数量,我会非常高兴,因为这些瓮可能会很长。
对于
2-legged身份验证所需的
scope
端点,我们将 POST /token
长度限制提高到 3000。
3-legged身份验证的
GET /authorize
端点需要在浏览器中使用,无论如何,您都会遇到接近2000个限制,因此我们没有更改那里的2000字符scope
长度限制.