docusignapi - 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-----

MIIEowIBAAKCAQEAoLjoMkaQXdN71O4+D+GqGHh6GnAzfJv6HGlnC/gOVMlxYQCk

BQxqdzcoLpPh+r4qTlbeO0Sv2qL5+uRgZT8zIwCMDdwEtRcVKSbiDBI14hFZJDmi

xfXPH9eAKI7hfwOn4isj1g4Hc9v24O9J2PVpzcQSWxD1Z2D5EQU6fHEfBYaaEg0N

tBojRaKnnVaIw2uNJsHdwJafVyoGoFwmRSMnDmcQWwgnra51rLScoKI9ccAW0g9z

bdvosce0SqPPQN3QW8AbLf8Gg4CnTIWmLdKxTVTwLcTeXJl7cJtR5xcIBLa+XXm5

(...)
94X09g/6FHtwKE2PxfMFimGJET1BjFlfzEa2LrMaQH8VXqMn1/rGdRglsufA+c7A

Dei+oYB/jNg/vTUUQm52KjLOBDpPp21XEGELvscCgYAZRwPrRRuA4Gnk8UWO3REz

afQcqD23+9wn6iwzVTCP1585+3nhWEr5cW0Rjt1SmizOraknouyEBF3lwKH05fs/

1vBYBlA+RiRliZnBeK+s1H/C5A7UAQ38PileQEV06cA3qZiPRZshISrlBpj/BdhN

Jc240QGDvs63qg76YyelUQKBgBljKoC0L3oIlfUFPj2wiJM3+VcQvzdztt+C8x7P

obJMO2w3zN0qFasr4s/kPdIsJVCKAPeppt8KDShLuWabmWh5F5lalIJp9BlDxQgK

W4DO/wrpy0VRFXW4HqhnhLP6wzWF8H7YSHE0avM9eW0Bw1nH8A5R6eGiaZ3yFua1

WtNnAoGBALFR6NW4WDM+tZeK773kIFG0zGUIRhJ6u3W4K5dhbmOgrSYxyhEBWRVk

gbBrKvLp//61SpaYmRGe5Qy1BZaSuee+VYZJOTVHSl0EZvXjT4BKg3sJq0IwV7/3

c9d3MxKxhcpE7Et3ULKmWnlapJX8vxj5y7cNFz0cEV+rfIne8mqB

-----END RSA PRIVATE KEY-----
" />
</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。
请如果可以帮助我!我在这里的黑洞。我不知道还能做什么!提前致谢!捷通
解决方案
这似乎是一个配置问题。似乎解决的一种方法是使用 Visual Studio 扩展,它会自动为您设置 JWT 或 Auth Code Grant 的所有内容。您可以在此处下载 VS 扩展: https ://marketplace.visualstudio.com/items?itemName=DocuSign.DocuSignVSExtension
推荐阅读
- flutter - 通过将所有内容包含在根小部件中来响应式布局/如何使用一个根小部件更改后代小部件的所有双精度值
- javascript - 使用媒体管道姿势时会出现几个不同的错误
- wordpress - 保存设置/选项时,wordpress 重定向到根 url 而不是子文件夹 url
- arrays - 不变违规:组件“Home”的视图配置 getter 回调必须是一个函数(收到“未定义”)
- c++ - RVO 和移动构造函数
- android - Ionic Cordova 构建 Android - CordovaLib:generateDebugRFile 失败
- c++ - 短不会溢出visual c++ 2017
- google-cloud-platform - Google Built CentOS Image - 有人有这个下载吗?
- git - 提交时间在未来的后果
- c# - 在 Unity 中用脚本制作一个数组?