在单个集成密钥上使用生产和演示帐户进行身份验证

时间:2018-06-27 00:20:08

标签: docusignapi

我正在建立与Docusign的集成,并且尝试使用单个生产集成密钥(使用授权代码授予)对生产和演示Docusign帐户进行身份验证。这可能吗?这样我们就可以使用单个生产集成密钥/客户端对https://account-d.docusign.comhttps://account.docusign.com身份验证路由进行身份验证。我搜索了api文档和Stackoverflow,但没有发现任何暗示一种或另一种方式的明确信息。

当前,我可以使用生产集成密钥成功验证生产帐户。但是,当尝试在invalid_grant路由上使用此集成密钥对演示帐户进行身份验证时,我收到https://account-d.docusign.com/oauth/token错误。

相反,我能够使用相同的演示集成密钥(在演示实例中创建的原始密钥-共享相同的实例密钥ID)对演示帐户进行身份验证,其中,产品帐户返回invalid_grant https://account.docusign.com/oauth/token路由错误。我在必要时传递了正确的account或account-d端点(否则,Docusign在尝试登录之前会返回不正确的电子邮件/密码或无效的客户端ID错误)。这意味着我能够为两种类型的Docusign帐户成功建立身份验证流程,但是我无法通过单个生产集成商密钥/客户端来完成此操作。

最终,我希望了解我们的生产集成商密钥是否应该能够针对生产和演示Docusign帐户进行身份验证。如果这 是可能的,那么我可能做错了什么主意吗?

1 个答案:

答案 0 :(得分:1)

一个好问题。这是独家新闻:

演示(开发人员沙箱)和生产平台具有完全独立的身份验证系统(account-d.docusign.comaccount.docusign.com)。

当集成密钥(也称为客户端ID,即OAuth术语)被批准用于生产时,实际发生的是在生产认证系统上创建了一个全新的客户端ID。

并非巧合的是,演示客户端ID和生产客户端ID都是相同的字母/数字序列。但是它们不是同一回事。

因此,尽管您的应用可以在演示和生产中使用“相同”的客户端ID,但客户端ID secret(授权代码授予)和/或private key(JWT授予)将有所不同。

您将从演示系统上的系统管理工具获取演示系统的秘密和/或私钥。您可以从生产系统上的系统管理工具中获得生产秘密。

因此,您的问题的直接答案是是,可以在演示和生产中使用相同的集成密钥(客户端ID)。 但是,对于演示和生产,密钥和/或私钥将有所不同。

(而且您还需要通过演示和生产管理工具设置返回的Uri值。)