【问题标题】:DocuSign Java JWT authentication fails, 400 bad request, consent_requiredDocuSign Java JWT 身份验证失败,400 错误请求,consent_required
【发布时间】:2019-10-08 23:22:52
【问题描述】:

我正在尝试使用官方 DocuSign 示例 "Java JWT authentication code example",但遇到了问题。

我检查了项目并刚刚编辑了config.properties 文件(添加了凭据等)。 我使用的是模拟账户,所以 auth-server 是account-d.docusign.com

但我总是收到400 Bad Request。 我做了一些调试,发现内部错误代码是{"error":"invalid_grant"}

你能帮帮我吗?官方示例项目对我不起作用...


编辑:

我将 clientId 更改为正确的,但现在我得到了{"error":"consent_required"}

【问题讨论】:

    标签: java docusignapi


    【解决方案1】:

    您使用哪个集成密钥 (IK)?您是否在 DocuSign Sandbox Admin 中配置它?您是否设置了私有 RSA 密钥并将其复制到您的代码中?所有这些事情都可能导致这个问题。您还需要确保用户同意并确保您的请求中有正确​​的 userId (GUID)。您能否仔细检查所有这些并告诉我们您发现了什么。

    【讨论】:

    • "确保用户同意并确保您拥有正确的 userId (GUID)" - 是的,这是我不能 100% 确定的部分。但是没有教程或截图帮助。
    • 我使用 DocuSign Sandbox Admin 创建了 RSA 密钥:admindemo.docusign.com/api-integrator-key
    • GUID 是管理演示中“API 和密钥”部分“我的帐户信息”下显示的“用户 ID”吗?
    • 用户同意:我只有 1 个用户是“DS Admin”(默认)
    • 您需要验证的内容很少。 userId 与 accountId 不同。同意是每个用户的,您需要确保您希望用户同意您的应用程序。 accountId 在 API 调用的 url 中。
    【解决方案2】:

    固定:

    1)(不太确定,但是...)示例项目eg-01-java-jwt 不请求范围impersonation,我必须添加这行代码:scopes.add(OAuth.Scope_IMPERSONATION);

    2)我不明白我必须先将客户端/浏览器导航到获取同意页面(因为我认为它是同一个用户!!):https://account-d.docusign.com/oauth/auth?response_type=token&scope=signature%20impersonation&client_id=xxxxxxxxxxxxxxxxxxxxxx&redirect_uri=https://client.example.com/callback

    2.1) 确保首先在管理工具中注册redirect_uri(集成密钥详细信息)。

    2.2) 确保将response_type 更改为token

    2.3) 确保使用scop=signature%20impersonation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-26
      • 2014-07-08
      • 2019-01-12
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 2012-07-06
      • 2019-04-19
      相关资源
      最近更新 更多