首页 > 解决方案 > eg-01-csharp-jwt-framework-master 或 eg-01-csharp-jwt-core-master 示例,RequestJWTUserToken 不适合我

问题描述

我正在使用官方 Docusign eg-01-csharp-jwt-framework-master 示例在我的沙盒(演示)环境中模拟我的用户并触发一些 Rest API 调用。

我做了所有像休闲资源一样的事情:1- https://www.youtube.com/watch?v=ymYzB0mJAVk 2- https://github.com/docusign/eg-01-csharp-jwt-core

这是我的 App.config:


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="DS_CLIENT_ID" value="b4c84ba8-(...)-ecc43e44da91" />
    <add key="DS_IMPERSONATED_USER_GUID" value="4cebdc19-(...)-d53217530f3af" />
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_SIGNER_1_EMAIL" value="signer@gmail.com" />
    <add key="DS_SIGNER_1_NAME" value="Signer" />
    <add key="DS_CC_1_EMAIL" value="CC@gmail.com" />
    <add key="DS_CC_1_NAME" value="CC" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----&#xA;
MIIEowIBAAKCAQEAoLjoMkaQXdN71O4+D+GqGHh6GnAzfJv6HGlnC/gOVMlxYQCk&#xA;
BQxqdzcoLpPh+r4qTlbeO0Sv2qL5+uRgZT8zIwCMDdwEtRcVKSbiDBI14hFZJDmi&#xA;
xfXPH9eAKI7hfwOn4isj1g4Hc9v24O9J2PVpzcQSWxD1Z2D5EQU6fHEfBYaaEg0N&#xA;
tBojRaKnnVaIw2uNJsHdwJafVyoGoFwmRSMnDmcQWwgnra51rLScoKI9ccAW0g9z&#xA;
bdvosce0SqPPQN3QW8AbLf8Gg4CnTIWmLdKxTVTwLcTeXJl7cJtR5xcIBLa+XXm5&#xA;
(...)
94X09g/6FHtwKE2PxfMFimGJET1BjFlfzEa2LrMaQH8VXqMn1/rGdRglsufA+c7A&#xA;
Dei+oYB/jNg/vTUUQm52KjLOBDpPp21XEGELvscCgYAZRwPrRRuA4Gnk8UWO3REz&#xA;
afQcqD23+9wn6iwzVTCP1585+3nhWEr5cW0Rjt1SmizOraknouyEBF3lwKH05fs/&#xA;
1vBYBlA+RiRliZnBeK+s1H/C5A7UAQ38PileQEV06cA3qZiPRZshISrlBpj/BdhN&#xA;
Jc240QGDvs63qg76YyelUQKBgBljKoC0L3oIlfUFPj2wiJM3+VcQvzdztt+C8x7P&#xA;
obJMO2w3zN0qFasr4s/kPdIsJVCKAPeppt8KDShLuWabmWh5F5lalIJp9BlDxQgK&#xA;
W4DO/wrpy0VRFXW4HqhnhLP6wzWF8H7YSHE0avM9eW0Bw1nH8A5R6eGiaZ3yFua1&#xA;
WtNnAoGBALFR6NW4WDM+tZeK773kIFG0zGUIRhJ6u3W4K5dhbmOgrSYxyhEBWRVk&#xA;
gbBrKvLp//61SpaYmRGe5Qy1BZaSuee+VYZJOTVHSl0EZvXjT4BKg3sJq0IwV7/3&#xA;
c9d3MxKxhcpE7Et3ULKmWnlapJX8vxj5y7cNFz0cEV+rfIne8mqB&#xA;
-----END RSA PRIVATE KEY-----&#xA;" />
  </appSettings>
</configuration>

我尝试了所有方法,但控制台总是在 ExampleBase.cs 中的RequestJWTUserToken方法中触发相同的错误:

发送一个包含三份文件的信封。这大约需要 15 秒...获取新的访问令牌...

 DocuSign Exception!
    Reason: 400
    Error Reponse: {"error":"invalid_request"}
 Done. Hit enter to exit... 

我测试了所有传递私钥的方法,这里是我的代码:

private void UpdateToken()
{ 

            //String privatekey from the .pem file
            String privateKeyString = File.ReadAllText("C:/Users/jterrero/Desktop/DocSign Lab/WorkSpace/.Net_Core_Keys/PrivateKey.pem");

            //String privatekey from the DSConfig.PrivateKey Property in DSConfig.cs
            //String privateKeyString = DSConfig.PrivateKey;

            byte[] privateKeyByte = Encoding.UTF8.GetBytes(privateKeyString);

            OAuth.OAuthToken authToken = ApiClient.RequestJWTUserToken(
                            DSConfig.ClientID,
                            DSConfig.ImpersonatedUserGuid,
                            DSConfig.AuthServer,
                            privateKeyByte,
                            1);

            //(...)
        }

笔记!我的访问数据一切正常。我知道,因为当我运行休闲源中存在的 eg-01-node-jwt-master 时:https ://github.com/docusign/eg-01-node-jwt具有相同的权限(DS_CLIENT_ID,DS_IMPERSONATED_USER_GUID,DS_AUTH_SERVER ,DS_PRIVATE_KEY 和 OAuthRedirectURI) 运行完美!

注意:我在两个地方都有相同的 OAuthRedirectURI:我的 dsConfig.cs 文件和我的 Api 和密钥集成密钥中的附加设置/重定向 URI。

请如果可以帮助我!我在这里的黑洞。我不知道还能做什么!提前致谢!捷通

标签: docusignapi

解决方案


这似乎是一个配置问题。似乎解决的一种方法是使用 Visual Studio 扩展,它会自动为您设置 JWT 或 Auth Code Grant 的所有内容。您可以在此处下载 VS 扩展: https ://marketplace.visualstudio.com/items?itemName=DocuSign.DocuSignVSExtension


推荐阅读