1

我有一个 docusign-sandbox 帐户。我正在尝试将 docusign 与我的应用程序集成,并在 java 中使用 JWT Grant 进行身份验证。我从中得到了一个示例代码https://github.com/docusign/eg-01-java-jwt,它可以完美运行一个小时,然后 API 开始失败。

知道如何解决这个问题吗?

我收到以下错误

我已经尝试将令牌到期时间从 1 小时更改为其他较小的值(5 分钟、30 分钟)。即使这样,API 也会在一小时后开始出现故障。

https://github.com/docusign/eg-01-java-jwt

错误信息

{"timestamp":1560750467288,"status":500,"error":"Internal Server Error","message":"Error while requesting server, received a non successful HTTP code 401 with response Body: '{\r\n  \"errorCode\": \"USER_AUTHENTICATION_FAILED\",\r\n  \"message\": \"One or both of Username and Password are invalid. Invalid access token\"\r\n}'","path":"{path}"}
4

2 回答 2

4

找到了解决问题的方法。

正在生成访问令牌,但由于某种原因,它没有更新 ApiClient 对象中的令牌,并且仅使用旧令牌。所以现在我只是在每次令牌过期时创建一个新的 ApiClient 对象,而不是用新令牌替换旧令牌。

于 2019-07-15T07:39:51.340 回答
0

jwt 授权返回一个仅在 1 小时内有效的访问令牌。之后,您需要再生成一个小时的新令牌。

在每次 API 调用之前调用示例的 checkToken 方法。它应该根据需要创建一个新的访问令牌。

添加

您需要调试以查看发生了什么。checkToken 方法是否在 50 分钟后获取新的访问令牌(它应该使用 10 分钟的缓冲时间)。是否正在使用新的访问令牌?

于 2019-06-17T16:25:40.323 回答