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

iOS调用DocuSign获取Access Token API报错:需code challenge及方法

解决iOS调用DocuSign获取Access Token时的"code challenge and code challenge method required"错误

这个错误是因为DocuSign强制移动端使用PKCE(Proof Key for Code Exchange)流程,按以下步骤检查修正即可:

  • 生成合规的code verifier
    必须生成一个43-128字符的随机字符串,仅包含字母、数字、-._~这几个字符。可以用iOS的SecRandomCopyBytes生成随机数据,再转成Base64URL格式(去掉末尾的=,把+替换成-,/替换成_)。

  • 生成对应的code challenge
    对code verifier做SHA-256哈希,再把哈希结果转成Base64URL编码(同样处理=、+、/)。此时code_challenge_method要设为S256,这是DocuSign强制要求的方式,不要用plain模式。

  • 授权请求(获取code的步骤)必须带两个参数
    向DocuSign发起授权请求时,参数里必须加上code_challenge(上述生成的哈希编码值)和code_challenge_method=S256,这一步漏了就会触发后续的token报错。

  • 获取token的请求必须带code_verifier
    拿到授权code后调用token接口时,除了常规的grant_type=authorization_code、code=你的授权码、client_id=你的应用ID、redirect_uri=你的回调地址,必须额外加上code_verifier参数,值就是最开始生成的那个随机字符串,要和授权请求时的完全一致。

  • 排查易踩坑点:

    • code verifier长度必须在43-128字符之间,不符合直接报错
    • 一定要用Base64URL编码,别用普通Base64,否则哈希匹配不上
    • 授权和token请求用的code verifier必须完全相同,中间不能修改
    • 确认DocuSign后台你的应用类型是移动应用,web应用的配置不适用移动端PKCE要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:02:37