我已经下载了JWT Auth示例代码
我已经完成并创建了我的集成器应用程序并添加了私钥。
修改了ExampleBase.java 文件以进行附加日志记录。
OAuth.OAuthToken oAuthToken = null;
System.out.println("Client ID: " + DSConfig.CLIENT_ID);
System.out.println("IUG: " + DSConfig.IMPERSONATED_USER_GUID);
System.out.println("Scopes: " + scopes);
System.out.println("Private Key: " + privateKey);
System.out.println("Token Exp: " + TOKEN_EXPIRATION_IN_SECONDS);
try {
oAuthToken = apiClient.requestJWTUserToken(
DSConfig.CLIENT_ID,
DSConfig.IMPERSONATED_USER_GUID,
scopes,
privateKeyBytes,
TOKEN_EXPIRATION_IN_SECONDS);
} catch (IOException e) {
System.err.println("Error ---IO Exception---");
System.err.println(e.getMessage());
System.err.println(Arrays.toString(e.getStackTrace()));
} catch (IllegalArgumentException e) {
System.err.println("Error while update/fetching token!");
System.err.println(e.getLocalizedMessage());
System.err.println(Arrays.toString(e.getStackTrace()));
} catch (ApiException e) {
System.err.println("API Exception!");
e.printStackTrace();
}
代码输出
Sending an envelope. The envelope includes HTML, Word, and PDF documents. It takes about 15 seconds for DocuSign to process the envelope request...
Token: null
Fetching an access token via JWT grant...
Client ID: cdb3.......2100207
IUG: 7......6
Scopes: [signature]
Private Key: -----BEGIN RSA PRIVATE KEY-----
MIIEogIBAADrH3w0OwPqp0iSLfDgx3kmiCxdnUW6oGUl
llBBsrkaTrPh4DGbFZhS8XiRbwuAFTWkHbLltYP0VoVHmBUhJomPie9+nAfuSWqh
kll5z/ygcGs7Vrn/mZcXTg4VihLzLphlV4FHBfwneQxq/PVIT0U=
-----END RSA PRIVATE KEY-----
Token Exp: 3600
API Exception!
com.docusign.esign.client.ApiException: Error while requesting an access token: POST https://account-d.docusign.com/oauth/token returned a response status of 400 Bad Request
at com.docusign.esign.client.ApiClient.requestJWTUserToken(ApiClient.java:740)
at com.docusign.example.jwt.ExampleBase.updateToken(ExampleBase.java:62)
at com.docusign.example.jwt.ExampleBase.checkToken(ExampleBase.java:40)
at com.docusign.example.jwt.SendEnvelope.sendEnvelope(SendEnvelope.java:54)
at com.docusign.example.jwt.JWTExample.main(JWTExample.java:24)
Done. Continuing...
DocuSign Exception!
Reason: 0
Error Reponse: null
Process finished with exit code 0
我正在调用 DocuSign API 客户端请求JWTUserToken,但调用失败并显示 400 错误请求。可能是 JSON 正文还是我遗漏了其他内容?
在网上阅读后,我发现我们必须将密钥转换为pkcs8格式(Java)。 This 确实帮助我解析密钥并生成 Java 密钥对。仍然遇到生成令牌的问题。
这是一个已知问题,记录如下:
https://github.com/docusign/docusign-csharp-client/issues/187
您好,自述文件中的用法示例与 沙盒环境。
但是,使用相同的代码但使用我的生产用户 ID 和 OAuth “account.docusign.com”的基本路径返回 400 Bad Request 错误。
它可以 100% 重现。
您正在使用 Java(而不是 C#)进行编码,但这听起来像是同一个问题。
我已经创建了一张票,#04233413。还没有出现过 自 2018 年 6 月 25 日以来 CS 团队的回复。
建议:
尝试查看这些链接: