Jwt DocuSign-使用管理员同意响应代码获取用户ID?

Jwt DocuSign-使用管理员同意响应代码获取用户ID?,jwt,docusignapi,Jwt,Docusignapi,我正在尝试将DocuSign集成到我们的系统中。我从文档中了解到,我们需要使用JWT身份验证,因为我们请求组织管理员的许可,然后,用户在请求签名时不需要登录 这是我用来获得管理员同意的url: Callback\u URL 成功调用回调URL,返回的代码如下: Callback\u URL?state=esignature\u docusign&code=approverencecode 然而,这里有两个问题: approveressecode是JWT格式的有效代码,但有效负载为空,标头如下所示

我正在尝试将DocuSign集成到我们的系统中。我从文档中了解到,我们需要使用JWT身份验证,因为我们请求组织管理员的许可,然后,用户在请求签名时不需要登录

这是我用来获得管理员同意的url:

Callback\u URL

成功调用回调URL,返回的代码如下:

Callback\u URL
?state=esignature\u docusign&code=
approverencecode

然而,这里有两个问题:

  • approveressecode
    是JWT格式的有效代码,但有效负载为空,标头如下所示:
  • 如果我使用该代码执行授权授予登录,它将返回错误(即使在我收到
    同意响应代码
    几秒钟后):
  • 这会阻止我们通过电子邮件查找用户

    问题是:

  • 如何获取用户ID来创建JWT请求

  • 我是否需要单独获得同意,并为组织管理员帐户执行授权授予

  • UserId是一个GUID,登录应用程序后,您可以在DocuSign的admin部分找到它。在创建集成密钥的同一个地方,有AccountID和UserId,这是两个不同的guid,您需要它们
  • 您只需要获得您的应用程序将模拟的用户的同意。返回到您询问的#1用户ID。如果选择用户ID,则该用户必须同意。如果您有两个用户——user1和user2,并且您在JWT中只使用过user1id,那么user2不需要同意。如果你想使用其中一个,你需要双方同意。 组织级许可允许您一次为所有用户执行此操作,但需要您创建一个组织并对其进行管理
  • UserId是一个GUID,登录应用程序后,您可以在DocuSign的admin部分找到它。在创建集成密钥的同一个地方,有AccountID和UserId,这是两个不同的guid,您需要它们
  • 您只需要获得您的应用程序将模拟的用户的同意。返回到您询问的#1用户ID。如果选择用户ID,则该用户必须同意。如果您有两个用户——user1和user2,并且您在JWT中只使用过user1id,那么user2不需要同意。如果你想使用其中一个,你需要双方同意。 组织级许可允许您一次为所有用户执行此操作,但需要您创建一个组织并对其进行管理

  • 您从同意流程收到的代码实际上是授权代码授权流的代码。你应该扔掉那些代码(完全忽略它)

    请记住,获得同意是您将模拟的每个用户的一次性操作。同意记录由DocuSign维护,它不是cookie或任何其他短暂的东西


    只有当用户明确撤回之前授予您的同意时,您才需要重复同意过程。

    您从同意过程中收到的代码实际上是授权代码授予流的代码。你应该扔掉那些代码(完全忽略它)

    请记住,获得同意是您将模拟的每个用户的一次性操作。同意记录由DocuSign维护,它不是cookie或任何其他短暂的东西


    如果用户明确撤销了之前授予您的同意,您只需重复同意过程。

    谢谢您的回答。所以,我有几个问题:1。我应该如何处理同意回调的响应?2.我们的应用程序仅集成DocuSign以允许应用程序内文档签名。当我们代表他人请求时,为什么我们需要基于我们自己的帐户ID创建JWT?如果只需要一次JWT同意。你不需要在回电话时做任何事情。这是一次性的,不是你应用体验的一部分。#2是一个复杂的问题。如果您的通讯簿(任何软件)中只有一个联系人,为什么还需要选择一个?如果你只有一个问题,为什么一定要找到它?软件通常不会做这些事情,它更像是人工智能级别的思考,也许有一天我们会有……谢谢@Inbar,我相信第二个问题的答案是合作伙伴JWT和用户JWT之间的相似性。现在一切都讲得通了。谢谢你的回答。所以,我有几个问题:1。我应该如何处理同意回调的响应?2.我们的应用程序仅集成DocuSign以允许应用程序内文档签名。当我们代表他人请求时,为什么我们需要基于我们自己的帐户ID创建JWT?如果只需要一次JWT同意。你不需要在回电话时做任何事情。这是一次性的,不是你应用体验的一部分。#2是一个复杂的问题。如果您的通讯簿(任何软件)中只有一个联系人,为什么还需要选择一个?如果你只有一个问题,为什么一定要找到它?软件通常不会做这些事情,它更像是人工智能级别的思考,也许有一天我们会有……谢谢@Inbar,我相信第二个问题的答案是合作伙伴JWT和用户JWT之间的相似性。现在一切都有意义了。
    {
      "typ": "MT",
      "alg": "RS256",
      "kid": "68185ff1-xxxx-xxxx-xxxx-689812203317"
    }
    
    {
        "error": "invalid_grant",
        "error_description": "expired_client_token"
    }