如何使用TypeScript/Angular为Autodesk接口构造合规OAuth2 GET请求
结论
你当前使用的是Autodesk OAuth 2.0授权码流程的/authorize授权端点,该端点官方支持GET、POST两种请求提交方式,完全可以基于现有参数构造POST请求,也可以按规范处理后续返回值。
POST请求构造规范
- 请求头必须设置
Content-Type: application/x-www-form-urlencoded,不支持JSON格式传参 - 原GET请求携带的所有查询参数,全部放到POST请求的请求体中即可:
response_type=codeclient_id=obQDn8P0GanGFQha4ngKKVWcxwyvFAGEredirect_uri=http%3A%2F%2Fsampleapp.com%2Foauth%2Fcallback%3Ffoo%3Dbarscope=data:read
- 如果是已登录Autodesk账号的场景,可以在请求中携带平台会话Cookie,跳过登录步骤直接进入授权确认环节。
返回值处理逻辑
- 若用户同意授权,平台会返回302重定向响应,重定向目标就是你提交的
redirect_uri地址,重定向请求的查询参数会携带code字段,即临时授权码 - 拿到授权码后,需要在服务端发起POST请求到
https://developer.api.autodesk.com/authentication/v1/gettoken端点,提交client_id、client_secret、grant_type=authorization_code、上一步拿到的code、和之前完全一致的redirect_uri,即可兑换到access_token和refresh_token - 后续使用
access_token即可调用你申请的data:read权限对应的所有平台接口。
注意事项
- 授权码有效期仅5分钟,且只能使用一次,拿到后需要立即发起令牌兑换请求
client_secret属于应用敏感信息,兑换令牌的请求必须在服务端发起,禁止在前端浏览器中暴露该字段- 提交的
redirect_uri必须和你在Autodesk开发者后台注册应用时填写的回调地址完全一致,包括后缀的查询参数?foo=bar也不能修改
内容的提问来源于stack exchange,提问作者yellowSub
相关产品推荐
相关产品推荐

