基于PKCE的Web应用能否通过Client Id和code_challenge获取2LO凭证?
关于Autodesk PKCE与2LO凭证获取的问题解答
不行,你没法用PKCE流程里的code_challenge来获取基于client_credentials的2LO凭证,原因如下:
- 两种OAuth2流程完全独立:PKCE是面向用户授权场景的3LO增强方案,核心作用是防止授权码被拦截;而2LO(Client Credentials Grant)是服务端到服务端的无用户授权模式,用于获取应用自身的权限令牌。两者的设计目标、参数要求完全不重叠。
- 2LO不识别
code_challenge参数:发起2LO请求时,仅需提交grant_type=client_credentials、你的Client Id,以及对应的Client Secret(若应用为保密客户端)。code_challenge是PKCE流程特有的参数,2LO的认证端点根本不会处理它。 - Client Id可共用但参数不能混用:如果你的同一个Autodesk应用客户端同时配置了PKCE(3LO)和2LO权限,可以用同一个Client Id发起2LO请求,但必须单独提供Client Secret,而非依赖PKCE流程中的任何参数。
内容的提问来源于stack exchange,提问作者Paolo Emilio Serra
相关产品推荐
相关产品推荐

