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

如何在DocuSign中获取refresh token并兑换新的access_token

问题根因

你当前使用的是OAuth 2.0的隐式授权流(Implicit Grant),该授权流本身设计为仅返回短期有效的access_token,不会返回refresh_token;同时response_type=refresh_token属于无效参数,自然无法获取到目标值。

正确获取refresh_token的方法

需要改用*授权码流(Authorization Code Grant)*完成身份验证,步骤如下:

  • 第一步:修改授权请求的response_type参数为code,其余参数保持原有配置即可,前端跳转代码示例:
let url = "https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature extended&client_id=39b5f6fb-97ca-XXXXXXXXXXXXX&state=a39fh23hnf23XXXXX&redirect_uri=http://localhost:4200/callbackdocusign";
window.open(url, '_self');
  • 第二步:用户完成身份验证后,回调地址会返回授权码参数code,而非直接返回access_token
  • 第三步:在服务端发起请求(禁止在前端执行,避免泄露应用密钥client_secret),调用token接口换取令牌:
    请求地址:POST https://account-d.docusign.com/oauth/token
    请求头:
    • Authorization: Basic 【client_id和client_secret用英文冒号拼接后,进行Base64编码得到的字符串】
    • Content-Type: application/x-www-form-urlencoded
      请求体:
      grant_type=authorization_code&code=【回调返回的授权码】&redirect_uri=http://localhost:4200/callbackdocusign
      请求成功后会同时返回access_token、expires_in、refresh_token三个核心参数,保存refresh_token供后续续期使用即可。
用refresh_token兑换新access_token的方法

access_token过期后,仍调用上述token接口,修改请求体参数即可完成续期:

  • 请求地址:POST https://account-d.docusign.com/oauth/token
  • 请求头和授权码换令牌的请求头配置完全一致
  • 请求体:grant_type=refresh_token&refresh_token=【之前保存的refresh_token】
  • 请求成功后会返回新的access_token、新的过期时长,同时返回新的refresh_token,替换旧的refresh_token存储即可。

内容的提问来源于stack exchange,提问作者Shyam Vashista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:24:03