【问题标题】:DocuSign JWT Grant how to get GUID userId of the user to impersonate?DocuSign JWT Grant 如何获取用户的 GUID userId 来模拟?
【发布时间】:2020-09-27 23:48:42
【问题描述】:

我正在使用 JWT Grant auth 类型与 DocuSign 平台进行服务集成。 DocuSign 帐户有多个用户设置。

我的服务是 SendEnvelopService,该服务的重要请求参数之一是用户电子邮件。 SendEnvelopService 需要在调用 DocuSign 时模拟具有给定电子邮件 ID 的用户并代表该用户发送信封。请注意,对 SendEnvelopService 的每个请求都将具有不同的电子邮件请求参数值。

我有以下问题-

问题#1) 因为我每次都需要模拟不同的用户(基于我请求中的电子邮件 ID),所以我假设我每次都需要获取新的 JWT 身份验证令牌,然后再制作实际的 api称呼。那正确吗?在每次 api 调用之前如此频繁地请求新的 JWT 身份验证令牌是否正常且可以?它是否会引起与 DocuSign 的任何集成问题?

问题#2) 在我的请求中,我有要模拟的用户的电子邮件 ID。我没有我需要的用户 GUID 来获取 JWT 身份验证令牌并模拟它。是否有任何 API 可用于通过电子邮件 ID 获取用户 GUID?我想知道这样的 api 需要什么样的身份验证,因为我还没有 JWT 身份验证令牌。

我的一个想法可能是我需要在 DocuSign 中设置一个管理员用户并将管理员用户 ID (GUID) 保留在应用程序配置中。现在我有 2 个用户,一个是管理员用户,另一个是请求用户,我收到了来自服务请求的电子邮件。我可以按照步骤进行 -

  1. 请求JWTUserToken 模拟管理员用户。我们得到 oAuthTokenAdmin

  2. 使用 oAuthTokenAdmin 制作 https://developers.docusign.com/esign-rest-api/reference/Users/Users/list api 调用获取请求用户电子邮件的 userId (GUID)。

  3. 现在执行另一个 requestJWTUserToken 模拟请求 userId。我们 获取 oAuthTokenUser

  4. 现在使用 oAuthTokenUser 进行实际的 api 调用并发送信封

【问题讨论】:

    标签: docusignapi


    【解决方案1】:

    转到: https://admindemo.docusign.com/ 使用您的演示(沙盒)凭据登录。 那么你有两个选择:

    如果只适合您,简单的方法是点击左侧导航中集成下的“API 和密钥”页面。 你会看到这个:

    您也可以点击左侧的“用户”并选择您想要的用户,任何用户,不一定是您。 然后你会在下面看到它:

    对于您的第一个问题,不,您不必这样做。您可以将同一用户用于所有 API 调用。特别是如果该用户是管理员,那么您可以在该上下文中执行所有 API 调用。

    【讨论】:

    • 感谢您的建议,我不能依赖沙盒控制台/网站来获取 userId,因为我正在实施服务。在处理请求时,我需要获取请求中给出其电子邮件的用户的 userId。我已经编辑了我的问题以更清楚地解释问题
    • 如果该用户存在于账户中,您可以进行 API 调用以检查该用户的 userId 是什么。但是,要进行该 API 调用,您需要首先拥有您的管理员用户 ID。我不确定您到底要做什么,但是您可以使用单个/固定的用户 ID 进行 JWT 身份验证。
    • 同意你的第一点,使用 JWT 和模拟管理员用户从用户的电子邮件中获取 userId(我们要在发送信封 api 调用中模拟的用户)。我的 api 将在每次发送调用中获得不同的电子邮件 ID,我将不得不在 sendEnvelope 中模拟不同的用户,因此我每次都需要为我想模拟的用户获取一个新的 JWT。
    • 如果你想模拟不同的用户,可以。不知道你为什么需要那个。您将需要每个此类用户的 GUID。要使用 API 找到它,您需要通过管理员用户的身份验证。因此,您可以对第一个管理员用户进行硬编码,调用 API 以获取您想要的用户,然后使用该 userId 再次进行身份验证。有意义吗?
    • 是的,这一切都说得通。我真的很感谢你的帮助和建议。这回答了我最初的问题。
    猜你喜欢
    • 2021-08-14
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 2022-01-10
    • 2020-09-11
    • 2021-01-07
    • 2021-08-28
    • 2017-11-25
    相关资源
    最近更新 更多