如何在SPA中实施Docusign,而无需最终用户通过DocuSign进行身份验证

时间:2019-02-19 02:11:30

标签: oauth docusignapi

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

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

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

如何避免要求最终用户登录?还是在使用隐式授予模型时这不可能?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

签名者不需要DocuSign帐户。仅签名请求的发件人需要一个帐户。

选项1:使用Powerform

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

这里有一个video,演示了Powerform解决方案。

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

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

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

类似的东西:

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

注释。

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

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

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

  • 发送信封
  • 发送信封,然后让签名人(亲自)对信封签名。例如一个银行应用程序,其中银行员工允许亲自签名者开设一个帐户。
  • 监视发送的信封
  • 随便

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