当前位置: 首页 > 知识库问答 >
问题:

apiClient。docusign中的RequestJWTUserToken不起作用

计阳泽
2023-03-14

我正在使用DocuSign C#SDK创建一个JWT令牌,以使用集成商密钥冒充用户,但它会抛出一个错误,说:

请求服务器时出错,收到一个不成功的HTTP代码

我只是调用UpdateToken()方法,如下所示:

 private static void UpdateToken()
        {
            var apiClient = new ApiClient();

            OAuth.OAuthToken authToken = apiClient.RequestJWTUserToken(ClientID, ImpersonatedUserGuid, AuthServer, Encoding.ASCII.GetBytes(PrivateKey), TokenExpiryInHours, new List<string> { "signature", "impersonation" });

            AccessToken = authToken.access_token;

            TokenExpiryTime = DateTime.Now.AddSeconds(authToken.expires_in.Value);
        }

RequestJWTUserToken中传递的所有参数的值为:

 "DocuSign": {       
    "ClientID": "aff67220-XXXX-XXXX-XXXX-426b6575c3bd",
    "ImpersonatedUserGuid": "f9a0f822-XXXX-XXXX-XXXX-7a576f06df81",
    "AuthServer": "https://account-d.docusign.com",
    "TokenReplacementTimeInSeconds": "600",
    "TokenExpiryInHours": "1",
    "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\r\XXXXXXX\r\n-----END RSA PRIVATE KEY-----"
  }

我已通过使用此终结点获得用户的同意:

https://account-d.docusign.com/oauth/auth?响应类型=令牌

并且用户已成功允许此clientId/integrator密钥具有权限。

我不知道我在这里做错了什么。

共有1个答案

苏畅
2023-03-14

对于Audience值(代码中的AuthServer),您需要删除https://前缀,并将其设置为account-d.docusign.com

 类似资料:
  • 我正试图在指定的页码上获得锚文本的动态初始标签。这是InitialTab的一部分: 使用https://github.com/docusign/docusign-php-client和默认配置选项: 如果word匹配,它会在该单词存在的每个页面上添加初始标签。 一个InitialTab,一个在第5页,另一个在第6页。不要在同一个地方放两个。 以下是SetPageNumber https://git

  • 问题内容: 我有一个字符串: 如果我使用function,那么它将返回相同的字符串,但我想获取。 问题出在哪里? 问题答案: 代码 正确打印“ ICECREAM”。但是,原始字符串c不变。Java中的字符串是不可变的,因此对该字符串的所有操作都会返回一个新副本。

  • 我正在处理一个项目,该项目要求集合中的每个项都有一个dataTable,并且每个dataTable都有动态列。 这是我想做的一个例子。。 DocsDescriptor。JAVA DocsData.java 文件文件。JAVA DocsDocumentType.java 测试控制器。JAVA test.xhtml 以下是输出:http://picpaste.com/Captura_de_pantal

  • 我对硒有问题!我试了3.6和2.7,但没有区别!我用的是win7(64位) 文件“C:\python27\lib\site-packages\selenium\webdriver\common\service.py”,第81行,在start os.path.basename(self.path),self.start_error_message中 WebDriverException:消息:“Ge

  • 问题内容: 有两个函数hello1()和hello2()。 在中,延迟3秒后打印“ hello1”。 但是在中,它会立即打印“ hello2”。 我认为是因为它必须在setTimeout中使用函数名称。 如果我想在延迟3秒后执行带有参数的函数怎么办? 因为我想将参数传递给函数,所以我不能只在setTimeout中使用函数名,例如 问题答案: 当对函数使用括号时,将立即执行。 要将函数与参数一起使用

  • 执行时出现错误,程序崩溃。 null 那有什么不对?