java - 获取 JWT token 时获取 400

标签 java docusignapi

尝试示例项目:https://github.com/docusign/eg-01-java-jwt

出现以下错误:

Fetching an access token via JWT grant...
Exception in thread "main" 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)

我猜我在组装 JWT 请求时错过了一些东西:

    String privateKey = DSConfig.PRIVATE_KEY.replace("\\n", "\n");
    byte[] privateKeyBytes = privateKey.getBytes();
    apiClient.setOAuthBasePath(DSConfig.DS_AUTH_SERVER);

    OAuth.OAuthToken oAuthToken = apiClient.requestJWTUserToken(
        DSConfig.CLIENT_ID,
        DSConfig.IMPERSONATED_USER_GUID,
        scopes,
        privateKeyBytes,
        TOKEN_EXPIRATION_IN_SECONDS);

配置属性:

# Integrator Key  (client id) iss
DS_CLIENT_ID=4dcfdaa1-xxxx-xxxx-xxxx-110bf207310f
# API username Guid sub
DS_IMPERSONATED_USER_GUID=5aff04e4-xxxx-xxxx-xxxx-7ac9eefdac1a

# private key string
DS_PRIVATE_KEY=\n\
-----BEGIN RSA PRIVATE KEY-----\n\
MIIEowIBAAKCAQEAgb2XJwtQ3S8henWphAtUcAChdDl1yYzHllytR4DZMY5hqp6E\n\
8A2kxblecKHSa4OMn5fP2liyWOCNNA7Vactj0/zI60yUdeOtRg4GyjjG/ShPc80F\n\
...
sJn5DNlHlwpQjsxyVpxrkGNIRzhTUxdBGZ4VZrh5QM77z9kSX9uKkZ7oZQWv7IcJ\n\
hO80HJ6v12HvTqypoqqOvVPKC1SK61cwdWdKi1GExcPqbrFoAJkB\n\
-----END RSA PRIVATE KEY-----

我得到的唯一错误是:

Exception in thread "main" 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

想知道为什么它会失败并返回 400,而且我没有其他信息可以用来找出为什么我得到 400。

我打赌你们可能知道为什么会发生这种情况。提前致谢。

最佳答案

当前版本的 DocuSign Java SDK 不会报告从 DocuSign 收到的错误原因。即将发布的 Java SDK(候选版本现已推出)修复了此问题。 (但我认为该示例需要更新。)

我认为这就是您遇到的问题。正如德鲁在他的回答中所说,潜在的错误可能是consent_required。

关于java - 获取 JWT token 时获取 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57915663/

相关文章:

java - Java 中的奇怪 SpinnerNumberModel 行为

docusignapi - 如何排除签名者接收已填写/签名的电子邮件

c# - 使用新的 DocuSign C# 客户端作废信封

java - 我怎么知道java库路径?

java - 方法 add(Element) 不适用于参数 (String[])

支持节点大小的Java/JavaScript图形布局库

docusignapi - 文档模板 - 角色设置为亲自或电子邮件签名

java - Java 应用程序的 Docusign OAuth getAccessToken 失败

java - 文件无法删除 - java - opencsv