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

DocuSignApi与Angular集成方案验证及CORS报错问题咨询

DocuSign与Angular集成方案校验及报错解决

两个方案的可行性校验方法

方案1:Angular调用.NET Core中间层对接DocuSign

该方案为生产级推荐方案,可按以下步骤校验可行性:

  • 先单独调试.NET Core中间层:确认已通过Nuget引入DocuSign.eSign依赖,配置好集成密钥、用户ID、RSA密钥等参数,中间层可独立完成和DocuSign的授权交互,正常获取access token及用户信息
  • 校验中间层接口跨域配置:确认.NET Core侧已配置CORS规则,允许Angular所在的域名(如http://localhost:81)访问接口
  • 端到端联调校验:Angular调用中间层登录接口,确认可以正常拿到返回的用户信息、接口调用凭证,后续DocuSign的业务接口请求都走中间层转发即可,不会暴露敏感密钥到前端。

方案2:Angular直接调用DocuSign接口

该方案仅适合内部测试/简单场景使用,可按以下步骤校验可行性:

  • 确认DocuSign后台集成密钥配置:已勾选「允许隐式授权」,且将前端地址http://localhost:81添加到重定向URI白名单,路径完全匹配(包括末尾斜杠)
  • 确认授权调用方式符合规范:OAuth授权端点不支持AJAX异步调用,必须通过页面跳转的方式发起请求
  • 校验后续业务接口调用权限:拿到token后调用DocuSign业务接口时,确认请求头已携带正确的Authorization字段,且DocuSign侧已配置对应接口的CORS规则。

方案2报错解决思路

你遇到的CORS报错是因为使用AJAX方式请求OAuth授权端点导致的,该场景本身不支持异步请求,按以下步骤修改即可:

  1. 替换授权请求方式:不要用_httpClient.get发起异步请求,直接通过页面跳转访问授权地址:
var authUrl = "https://account-d.docusign.com/oauth/auth?response_type=token&scope=signature&client_id=XXXXXXXXXXXXXXX-01caXXXXXXXX&state=a39fh23hnf23&redirect_uri=http://localhost:81/";
// 直接跳转授权页
window.location.href = authUrl;
  1. 解析重定向返回的token:用户授权完成后,DocuSign会自动跳转到你配置的redirect_uri地址,token信息会放在URL的hash段中,在对应路由页面解析即可:
ngOnInit() {
  const hashStr = window.location.hash.slice(1);
  const urlParams = new URLSearchParams(hashStr);
  const accessToken = urlParams.get('access_token');
  if (accessToken) {
    // 存储token,后续调用DocuSign接口时放在请求头Authorization字段即可
  }
}
  1. 额外校验:若后续调用DocuSign业务接口仍有CORS报错,可确认是否是请求头添加了DocuSign不允许的自定义字段,若仍无法解决建议切换到方案1,所有接口走中间层转发即可完全规避跨域问题。

内容的提问来源于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.05 09:27:04