在Java中生成DocuSign JWT令牌时出错

时间:2019-07-25 18:30:16

标签: java jwt docusignapi

我已经下载了JWT Auth sample code

我已经完成并创建了集成器应用程序并添加了私钥。

修改了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客户端requestJWTUserToken,并且调用失败,并显示400 Bad Request。可能是JSON正文还是我缺少其他内容?

1 个答案:

答案 0 :(得分:0)

确定-感谢您修改代码以获取堆栈回溯。

这是一个已知问题,在此处记录:

  

https://github.com/docusign/docusign-csharp-client/issues/187

     

您好,自述文件上的“用法”示例对   沙盒环境。

     

但是,使用相同的代码但要使用我的生产用户ID和OAuth   “ account.docusign.com”的基本路径返回400错误的请求错误。

     

100%的时间都可以重现。

     

请协助,谢谢!

您使用Java(不是C#)进行编码,但这听起来像是同一问题。

  

我已经创建了票证#04233413。还没有   自2018年6月25日以来,CS团队的回复。

建议:

尝试查看以下链接:

请发回找到的内容!