我们应该如何允许我们的网络应用程序的个人用户连接到他们自己的 DocuSign 帐户?

How should we go about allowing individual users of our web app to connect to their own DocuSign account?

就上下文而言,我们目前正在我们的 DMS 网络应用程序产品上开发 DocuSign 集成。到目前为止,我们所做的是网络应用程序的管理员(我们假设这将是我们客户的 IT 人员)可以通过输入 API 帐户 ID、集成密钥、密钥、访问令牌和刷新令牌来设置集成.所有这些信息都是 taken/generated 使用 DocuSign 管理员帐户。有了这个,我们看到任何使用 DMS 的用户都可以发送签名请求(通过 API),而无需登录他们自己的 DocuSign 帐户。

但是,我们意识到这意味着所有签名请求都将使用通用的 DocuSign 管理员帐户发送,即信封来自管理员帐户,所有签名的文档也存储在 DocuSign 管理员帐户中。这不是我们想要的,因为 DocuSign 管理员可以看到机密的签名文档。

我很困惑,想就我们应该如何处理这件事寻求建议?理想情况下,DMS 的用户 A 可以将他的 DocuSign 帐户与其 DMS 帐户相关联。因此,当用户 A 从我们的 DMS 发出签名请求时,签名者会收到来自 DocuSign 的电子邮件,显示它来自该用户而不是普通管理员帐户。

另外,似乎每个使用我们的 DMS 的客户都必须进行上线流程?这是否意味着每个客户都需要拥有他们的 DocuSign 开发者帐户,以便集成密钥可以提升到生产环境?还是我方向错了,应该将合作伙伴集成视为 ISV?

如果您的 DMS 系统是 SAAS 系统,那么您可以拥有 1 个集成密钥(客户端 ID)用于与 DocuSign 的集成。换句话说,您的个人客户不会拥有自己的集成密钥、机密等。

一个集成密钥是最好的,如果您的应用程序的体系结构可以支持它。为此,您需要一个或几个重定向 URI,以使您的用户(也拥有 DocuSign 帐户)能够使用 DocuSign 进行身份验证。

然后,您的应用会为每个使用 DocuSign 进行身份验证的用户存储生成的访问令牌、刷新令牌和到期日期。 这样,正如您所说,当您的用户发出要签名的信封时,它将属于他们自己的 DocuSign 帐户,并将他们显示为发件人。

当您的客户想要通过 DocuSign 发送时,您的应用程序会检查此人的访问令牌的到期日期。如果访问令牌已过期,则使用刷新令牌获取新的访问令牌和新的刷新令牌。

刷新令牌存储在您应用的非易失性存储器中(最好加密),因此您可以在几天或几周后为用户使用它。这样他们就不必使用 DocuSign 重新进行身份验证。对于这种情况,使用范围 signature%20extended

对于 account_id 信息,使用用户的默认帐户并允许他们根据需要切换到另一个帐户。

更多信息: