我正在建立与Docusign的集成,并且尝试使用单个生产集成密钥(使用授权代码授予)对生产和演示Docusign帐户进行身份验证。这可能吗?这样我们就可以使用单个生产集成密钥/客户端对https://account-d.docusign.com
和https://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帐户进行身份验证。如果这 是可能的,那么我可能做错了什么主意吗?
答案 0 :(得分:1)
一个好问题。这是独家新闻:
演示(开发人员沙箱)和生产平台具有完全独立的身份验证系统(account-d.docusign.com
和account.docusign.com
)。
当集成密钥(也称为客户端ID,即OAuth术语)被批准用于生产时,实际发生的是在生产认证系统上创建了一个全新的客户端ID。
并非巧合的是,演示客户端ID和生产客户端ID都是相同的字母/数字序列。但是它们不是同一回事。
因此,尽管您的应用可以在演示和生产中使用“相同”的客户端ID,但客户端ID secret
(授权代码授予)和/或private key
(JWT授予)将有所不同。
您将从演示系统上的系统管理工具获取演示系统的秘密和/或私钥。您可以从生产系统上的系统管理工具中获得生产秘密。
因此,您的问题的直接答案是是,可以在演示和生产中使用相同的集成密钥(客户端ID)。 但是,对于演示和生产,密钥和/或私钥将有所不同。
(而且您还需要通过演示和生产管理工具设置返回的Uri值。)