将DocuSign集成到SPA中的选项

时间:2018-09-26 22:36:04

标签: docusignapi

我正在为会议提交文件。我想将DocuSign与Alfresco基于Angular的开发人员框架,特别是Alfresco Content App集成。

为了简化操作,我想考虑可以使用浏览器100%完成的工作流,而无需我自己的任何后端代码。

我怀疑我可以为Alfresco UI中找到的任何文档创建一个“立即签名此文档”类型的操作。这样可以启动一个OAuth流,该流不需要我自己的任何后端服务。

我认为我需要将集成商密钥放入SPA中。这样,使用该应用程序的任何人都可以看到。通过阅读文档,我不清楚“泄漏”此键是否可以?

在不添加自己的后端服务的情况下,我还可以在SPA中实现其他用例吗?例如发送文档以供一个或多个人签名?还是在Angular UI中嵌入签名体验?

我在DocuSign博客上看到了以下系列文章:

https://www.docusign.com/blog/dsdev-building-single-page-applications-with-docusign-and-cors-part-1/

在阅读了该内容以及REST API文档之后,我仍然不清楚,如果没有我自己的后端服务的任何支持,是否甚至可以实现类似的东西。

我也没有在网上找到任何地方,可以与DocuSign的开发人员联系,讨论我的选择。我相信DocuSign的开发人员会监视SO,因此认为这是次要的事情。

1 个答案:

答案 0 :(得分:0)

很好的问题。浏览器实现Same Origin Policy。因此,正如我在博客系列中所写的那样(请参阅下面列出的所有三篇文章),您将需要一个CORS网关才能从浏览器本身中运行的Angular程序向DocuSign系统进行API调用。

好消息是,创建私有CORS网关并不难。请参阅系列的第2部分:

身份验证

您的应用向DocuSign进行API调用时将需要访问令牌。有多种技术可为您的应用提供所需的访问令牌:

  • 您的应用程序本身可以通过DocuSign验证用户身份。在这种情况下,由于存在安全问题(如您在问题中提到的那样),因此您不使用OAuth授权代码授予流程。而是使用OAuth Implict Grant flow,它是为此用例设计的。在博客系列的第3部分中将演示此流程。
  • 您可以在服务器中实现OAuth授权代码授予流程,然后在服务器与浏览器应用程序之间创建私有API以获得访问令牌。

私有API

作为使用CORS的替代方法,您只需在服务器上实现DocuSign API方法的私有版本即可。然后,您的浏览器应用程序将向您的服务器发送一个private_send_envelope请求。您的服务器将管理访问令牌,将请求发送到DocuSign,然后将响应中继回浏览器应用程序。

此模式与您有关实现后端服务的问题相同。它将正常工作,但不如在浏览器应用程序中实现所有功能那样优雅。取决于您的SPA近期和将来对API的需求,这可能是个好主意。

CORS支持是关键

在DocuSign具有CORS支持之前,您需要在后端构建一些东西。 CORS网关(仅涉及配置,不涉及软件)或专用API网关。

请询问您的DocuSign销售或技术联系人,以将您的信息添加到内部DocuSign提案中以获取CORS支持PORTFOLIO-1100。这将有助于提高CORS支持的优先级。谢谢。

具体答案

关于:

  

我认为我需要将集成商密钥放入SPA中。这样,使用该应用程序的任何人都可以看到。通过阅读文档,我不清楚“泄漏”此键是否可以?

答案:可以并且仅当将IK设置为使用“隐式授权”时才可以将集成器密钥(IK)添加到浏览器应用程序中(请选中IK属性表上的“移动应用程序”复选框)。

  

在阅读了该内容以及REST API文档之后,我仍然不清楚,如果没有我自己的后端服务的任何支持,是否甚至可以实现类似的东西。

答案:这时您将需要实现私有的CORS网关或实现后端软件。