首页 > 解决方案 > how to test jwt sample? and what are userid?

问题描述

My development Environment : eclipse java

I would like test a requestJWTuserToken sample, but I'm getting an error.

Test code:

OAuth.OAuthToken oAuthToken = apiClient.requestJWTUserToken(IntegratorKey, userId, scopes, privateKeyBytes, 3600);
Assert.assertNotSame(null, oAuthToken);

apiClient.setAccessToken(oAuthToken.getAccessToken(), oAuthToken.getExpiresIn());
UserInfo userInfo = apiClient.getUserInfo(oAuthToken.getAccessToken());
Assert.assertNotSame(null, userInfo);
Assert.assertNotNull(userInfo.getAccounts());
Assert.assertTrue(userInfo.getAccounts().size() > 0);

Error message:

com.docusign.esign.client.ApiException: Error while requesting an access token:

class OAuthToken {
    accessToken: null
    tokenType: null
    refreshToken: null
    expiresIn: 0

at com.docusign.esign.client.ApiClient.requestJWTUserToken(ApiClient.java:719)
at smartsuite.app.util.DocuSignUtil.settingAuthentication(DocuSignUtil.java:112)

what are userid?

I found a admin sendbox at user > API username enter image description here

标签: oauthdocusignapi

解决方案


当您在 JWT 请求中使用的 RSA 私钥存在问题时,有时会遇到此错误。首先验证您如何将密钥的私有数据传递到请求中,例如,如果您正在从环境变量中读取,请确保密钥的值包含在一行中,否则它可能会被截断。

如果您的密钥作为环境变量跨越多行,请尝试执行正则表达式查找/替换,将所有换行符替换\n为字符串文字"\n",然后将其传递以查看它是否解决了您的问题。


推荐阅读