Docusignapi 如何正确设置DocuSIgn oAuth2进程

Docusignapi 如何正确设置DocuSIgn oAuth2进程,docusignapi,Docusignapi,我真的对API的OAuth2过程感到困惑。在文档中,它说“客户端应用程序应该显示UI,提示用户输入电子邮件/密码,并负责对信息保密,而不是将其存储在本地。” 我的观点是,OAuth2的目的在这里没有实现。客户端应用程序应该与用户的电子邮件和密码无关。DocuSign说不要在本地存储密码!如果任何客户端开发一个存储用户密码的应用程序,并为DocuSign用户创建安全威胁,该怎么办 我已经使用了几个API,使用了OAuth2authentication,这是我第一次遇到不同的流。你能告诉我如何实际应

我真的对API的
OAuth2
过程感到困惑。在文档中,它说“客户端应用程序应该显示
UI
,提示用户输入电子邮件/密码,并负责对信息保密,而不是将其存储在本地。”

我的观点是,
OAuth2
的目的在这里没有实现。客户端应用程序应该与用户的电子邮件和密码无关。DocuSign说不要在本地存储密码!如果任何客户端开发一个存储用户密码的应用程序,并为DocuSign用户创建安全威胁,该怎么办

我已经使用了几个API,使用了
OAuth2
authentication,这是我第一次遇到不同的流。你能告诉我如何实际应用这个吗?你能给我举个例子吗

下面是我们的应用程序的工作原理。它连接docusigns用户,我们将持有他们的访问令牌,并使用它代表他们发送自定义信封/小部件。我们不想要求用户使用我们的域发送电子邮件和密码


我认为我的思路不对,我有点困惑,我需要你的帮助。

关键问题是当前功能不支持单点登录

相反,OAuth2特性使您的DocuSign客户端应用程序不存储用于代表命名用户使用API进行身份验证的清晰用户名/pw对

另一方面,“代表他人发送”(SOBO)还允许应用程序不存储将发送交易(信封)的其他人的用户名/pw。而是指定一个用户名作为“身份验证用户”

所以这完全取决于您的用例。请记住,API最常用于发送事务进行签名,而不是对文档进行签名。您可以作为“系统用户”发送,也可以代表您帐户中的其他用户发送

要消除客户端应用程序存储用户名/pw的需要,您的应用程序可以:

  • 向人员请求用户名/pw
  • 忘记用户名/pw
  • 在后续API调用中使用令牌而不是用户名/pw对。令牌不会过期,因此可以无限制地存储和使用。(用户可以通过DocuSign web界面或API显式撤销。)
  • 对于您的用例:

    下面是我们的应用程序的工作原理。它连接DocuSigns用户,我们将持有他们的访问令牌,并使用它代表他们发送自定义信封/小部件。我们不想要求用户使用我们的域发送电子邮件和密码

    听起来您的应用程序应该为最终用户所属的每个帐户设置一个“身份验证用户”。(您不会说您的所有用户是否都在同一个帐户中。)通常,DocuSign的每个公司/客户都有一个帐户用于其所有用户。但由于各种原因,许多DocuSign客户确实拥有多个帐户。单个用户可以属于多个帐户

    验证用户将代表(SOBO)最终用户发送。在这个场景中,您不需要知道用户的pw。(您将不会持有他们的OAuth2代币,也不需要请求他们的pw。)

    但是你确实需要他们的电子邮件(他们在DocuSign中的用户名)。您的应用程序可能包含此信息

    此外,您需要决定如何在DocuSign中设置发送用户帐户。您可以假设该帐户存在,然后在它不存在时优雅地处理该案例

    或者,您可以通过API在帐户中配置用户

    此外,用户是否将直接登录到DocuSign?如果是这样,那么用户可能希望使用DocuSign实现SSO。DocuSign SSO使用SAML

    已添加

    如果您在SOBO中使用身份验证用户的想法,那么可以将身份验证用户视为应用程序的系统用户(但每个DocuSign帐户需要一个)。系统用户的凭据通常包含在配置文件中,您仍然可以这样做。或者,您可以在安装时为系统用户创建令牌——管理员将添加名称/pw。没有必要向普通用户索要密码

    对于任何帐户中的任何DocuSign发件人都可以使用的应用程序,通常您会有一个配置步骤,将应用程序“添加”到新帐户。这将是一个管理步骤,由管理员完成。您的软件将指示新帐户的管理员创建一个身份验证用户,然后输入该用户的电子邮件/pw

    如果你的应用程序只是从你的应用程序向与你的应用程序关联的任何随机人员发送签名请求(甚至只是收到消息的确认请求),请记住签名是免费的——收件人用户不需要DocuSign上的帐户

    如果你的客户想要“发送”签名请求(通过你的应用程序)并在他们的帐户中看到它们,等等,那么听起来你想为每个客户的配置帐户使用经过身份验证的用户的SOBO。请注意

    不使用SOBO您还可以按如下方式规划应用程序:

  • Joe用户向您的应用程序表明他拥有DocuSign帐户,并希望您的应用程序代表他发送
  • 你在你的代币店里找。如果你有给乔的代币,你就用它。如果你没有,那么你告诉Joe他必须设置你的应用程序以使用他的DocuSign帐户。要做到这一点,你需要他输入他的DS电子邮件/pw一次
  • 您使用Joe存储的令牌作为Joe发送签名请求
  • 你是对的,这个流程可能会产生信任问题。为了尽量减少您需要请求DocuSign电子邮件/pw的频率,我建议使用身份验证用户+SOBO。这样,当DocuSign帐户添加到您的系统中时,您只需询问一次

    又增加了一些 如果您的客户的DocuSign帐户很少(换句话说,您的客户通常没有DocuS)