如何获取DocuSign用户GUID以设置JWT的sub属性?JWT授权流程疑问
DocuSign JWT授权同意流程问题解析
核心误区:混淆了两种OAuth授权流程
你现在的问题根源是把JWT授权流程和授权码(Authorization Code)流程混在了一起,这也是你疑惑为何要忽略code参数的关键原因。
如何获取JWT所需的用户ID(sub)
不用纠结重定向里的code,获取用户GUID有两种直接方法:
- 如果你已知用户的DocuSign登录邮箱,直接调用DocuSign的
GET /v2.1/accounts/{accountId}/users接口,传入邮箱参数就能拿到对应的userId,这个值就是JWT令牌里需要填写的sub属性。 - 或者在构建同意URL时,带上自定义的
state参数(比如把用户邮箱存在state里),用户完成授权重定向回来后,用这个邮箱调用上述API查询用户ID即可。
为什么要忽略重定向的code参数
这个code是授权码流程里用来交换access token的凭证,但你走的是JWT授权流程——这是两个完全独立的OAuth2授权方式:
- 授权码流程依赖code换token,适合有前端交互的场景;
- JWT流程靠私钥签名生成令牌换token,适合后端服务调用场景。
你构建的同意URL其实顺便触发了授权码流程的code返回,但JWT流程只需要用户完成一次授权同意(生成授权许可),根本用不上这个code。
正确的JWT授权流程步骤梳理
- 引导用户通过同意URL完成授权(仅需执行一次,除非用户主动取消授权);
- 获取该用户的DocuSign GUID(即
sub值); - 用集成密钥、私钥、
sub等信息生成JWT令牌; - 携带JWT调用
POST /oauth/token接口,获取access token和refresh token。
内容的提问来源于stack exchange,提问作者AkademiksQc
相关产品推荐
相关产品推荐

