Docusignapi JWT在launcher csharp演示中的流

Docusignapi JWT在launcher csharp演示中的流,docusignapi,Docusignapi,我现在正在玩DocuSign GitHub的launcher csharp演示。它可以很好地处理授权代码授予流。但当我尝试运行JWT flow时,此调用中会引发一个异常: public void UpdateUserFromJWT() { this._authToken = _apiClient.RequestJWTUserToken( this._configuration["DocuSignJW

我现在正在玩DocuSign GitHub的launcher csharp演示。它可以很好地处理授权代码授予流。但当我尝试运行JWT flow时,此调用中会引发一个异常:

        public void UpdateUserFromJWT()
        {
            this._authToken = _apiClient.RequestJWTUserToken(
                this._configuration["DocuSignJWT:ClientId"],
                this._configuration["DocuSignJWT:ImpersonatedUserId"],
                this._configuration["DocuSignJWT:AuthServer"],
                DSHelper.ReadFileContent(DSHelper.PrepareFullPrivateKeyFilePath(this._configuration["DocuSignJWT:PrivateKeyFile"])),
                1);
异常表示服务器返回了一个“需要同意”错误。 “如何使用JWT Grant获取访问令牌”文档部分中的错误描述表示,这意味着用户没有给予同意,这不是我的情况,或者URI配置有问题。我仔细检查了appsettings.Development.json中的DocuSignJWT部分

  • “客户端ID”是从该应用程序设置中的“集成密钥”字段复制而来。它与用于授权代码授予流的相同
  • 从“用户ID”字段复制“模拟用户ID”。用户编辑表单中的“API用户名”字段中存在相同的值。在授权代码授权流中运行时,在用户“子”字段中返回了相同的值
  • “AuthServer”:“account-d.docusign.com”
  • “PrivateKeyFile”是文件名,此应用程序的私钥按原样存储,带有“----开始RSA私钥------”和“----结束RSA私钥------”

显然我做错了什么,但是什么?你必须先向JWT提供同意书

https://account-d.docusign.com/oauth/auth?
response_type=code
&scope=signature%20impersonation
&client_id=your integration key
&redirect_uri=your **encoded** callback url from the ikey settings 

例如“https%3A%2F%2Flocalhost%3A9090%2Fds%2Fcallback”。

我确信此客户端方法中包含此步骤。如果没有-它应该包含在演示中,或者至少作为运行演示的先决步骤提到。我来试试这个方法。你看,它行得通。在将这样的URI传递到我的浏览器并给予同意后,演示将与JWT流一起工作。但奇怪的是,所有这些都没有在演示中实现,也没有在演示自述中提及。