首页 > 解决方案 > 如何在 SPA 中实施 Docusign,而不需要最终用户使用 DocuSign 进行身份验证

问题描述

我正在关注此处显示的 React OAuth Implicit 示例:https ://github.com/docusign/eg-02-react-implicit-grant我对我们的 React SPA 的最终用户应该如何感到困惑能够为自己创建一个信封,而无需访问我们的管理员帐户密码。

作为我们应用程序注册过程的一部分,我们让最终用户填写一份表格,该表格预先填写了一个信封,供他们通过 Docusign 签名。我们想象我们的 Docusign 管理员帐户会在幕后代表这些用户对我们的应用程序进行身份验证,从而使他们能够立即进入嵌入式签名仪式。

但是,在链接的示例中,最终用户会通过 Docusign UI 提示登录我们的管理员帐户,以便继续使用 Docusign 的 API 方法。

我们如何避免要求最终用户登录?或者在使用隐式授权模型时这是不可能的吗?

提前致谢。

标签: oauthdocusignapi

解决方案


很好的问题。DocuSign 集成应用程序有许多用例:

用例:签名者正在使用您的应用

签名者不需要 DocuSign 帐户。只有签名请求的发送者需要一个帐户。

选项 1:使用 Powerform

处理此用例的最简单方法是使用DocuSign PowerForm。PowerForm 是由 DocuSign 系统隐式发送的 DocuSign 信封模板。然后,签名者可以用他们的姓名和其他详细信息填写表格,然后签署文件。

这是演示 Powerform 解决方案的视频。

您可以通过查询参数代表签名者填写表格。请参阅SO 答案。将您的应用程序与 PowerForm 集成很容易,但信封的某些方面可能无法通过模板进行设置。有关如何设置用户完成签名后将被重定向到的 URL 的详细信息,请参阅本文。

选项 2:自己创建信封,然后让您的用户签名

一个更有能力的选择是让您的应用程序自己创建信封。您需要付费 DocuSign 用户的访问令牌才能发送信封。我不会使用系统管理员帐户,而只是普通的 DocuSign 帐户用户。

就像是:

  1. 在您的 DocuSign 帐户中创建一个用户,例如“HR@your_company.com”
  2. 设置后端(服务器应用程序)以使用 DocuSign JWT 身份验证来模拟 HR@your_company.com“用户”。请参阅提供多种语言的eg-01 系列代码示例。
  3. 编写您的 SPA 以创建信封本身(在从后端获取访问令牌之后)或使用私有 API 要求后端创建信封。创建信封后,获取签名仪式的 URL。
  4. 您的 SPA 现在将用户重定向到签名仪式(不要使用 iFrame)。用户签名后,她将与事件信息(她签名的)一起被重定向回您的 SPA。这方面的一个示例是 DocuSign 代码示例启动器 eg-03 系列中的嵌入式签名仪式工作流程(第一个工作流程)。这是Node.js 示例

笔记。

  1. 不要使用 iFrame,因为 Signing Ceremony 需要整个屏幕。因为 SPA 可以通过 cookie 或本地存储在会话中保存状态,所以实际上并不需要 100% iFrame。
  2. 您可以将 DocuSign 签名仪式设置为 ping 您的服务器(AJAX pings)以保持会话活动、用作心跳等。
  3. 如果您让 SPA 创建信封,则需要设置 CORS 网关以使 SPA 能够与 DocuSign 云进行通信。这在 eg-02 示例的文章中有详细说明。
  4. 如上所述为签名者创建信封可让您最大限度地控制信封,包括可能包含附件文档、付款等。

用例:您的员工正在使用您的 SPA 应用程序

在这种情况下,您的员工可以通过 SPA 使用 DocuSign 进行身份验证,然后通过 SPA 和 DocuSign API 使用 DocuSign 进行任何身份验证。例如:

  • 发送信封
  • 发送信封,然后让签名者(亲自)在信封上签名。例如,银行员工允许亲自签名者开设账户的银行应用程序。
  • 监控发送的信封
  • 任何

这是 eg-02 React 示例演示的用例。


推荐阅读