当前位置: 首页 > 知识库问答 >
问题:

DocuSign-OAuth授权码授权-多用户-获取访问和刷新令牌时出错

高正初
2023-03-14

我们正在尝试将DocuSign与我们的产品集成。

我们的场景:我们的组织有一个(合作伙伴)帐户。我们创建了一个集成密钥(ClientID)和Secret。我们希望我们的客户使用他们自己的帐户(不是我们合作伙伴帐户的子帐户(管理员-用户关系))创建信封,并生成签名URL以及我们的集成商密钥和机密。

以下步骤:

  1. 创建了一个帐户(合作伙伴帐户)

问题:是否可以将一个帐户的集成商密钥和密码与另一个帐户(两个帐户没有任何关系(管理员用户))的身份验证代码一起用于获取访问令牌

使用的API:

获取身份验证代码-https://account-d.docusign.com/oauth/auth(合作伙伴帐户(集成器密钥)

获取访问/刷新令牌-https://account-d.docusign.com/oauth/token(来自上一个响应的验证代码)

原因:我们不想存储用户凭据,也不想让用户每次在我们的应用程序中使用DocuSign帐户时都登录。因此,我们希望获得用户的同意,并将他们的刷新令牌存储在我们这里。使用他们的刷新令牌和我们下次的integrator密钥调用DocuSign API。

共有1个答案

段干昊然
2023-03-14

最新消息

(我在DocuSign工作。)

通过提供给DocuSign的其他信息,我们能够找到OP失败的OAuth事务的内部日志。我们可以从内部日志中看到,问题确实在于授权代码已经过期。

在OAuth流期间,一旦应用程序收到授权代码,它应该立即返回并使用它来获取访问和刷新令牌以及相关信息。我们将更新我们的留档,以明确说明这个问题。

原始答案

你所做的一切听起来都完全正确。特别是由于用户在通过应用程序登录到DocuSign后第一次收到权限屏幕。

要直接回答您的问题:是的,应用程序可以使用客户端ID(集成密钥)为任何DocuSign帐户上的任何DocuSign用户。

一个想法:您的应用程序是否在收到授权代码后立即请求令牌?授权代码本身会在几分钟后超时。

您的意思是,如果用户A登录它就可以工作(用户A属于管理客户端ID的帐户),但是如果用户B登录它就不能工作?我以前没见过这个问题。我将使用用户C创建一个新的演示开发人员沙箱,并让他们尝试登录。

所有这些都是演示版还是制作版?

 类似资料:
  • 我遇到了使用文档签名 API 的第一个障碍,需要一些帮助。 我将docusignrestapi集合导入到Postman中。我设置了iKey、iSec、encodedKeys和codeFromUrl变量。 当尝试发送'01-授权代码授予访问令牌'post API时,我每次都得到以下响应。 我尝试从Postman中删除所有内容,包括环境,并从DocuSign中删除该应用程序,然后重新开始,以便我的所有

  • 我执行本问题中描述的步骤: Laravel的5.3护照和api路由 从api的路径来看,一切都很好,我可以注册新用户,读取他们的数据等等。 然后在AuthServiceProvider上添加此命令 护照::代币ExpireIn(碳::现在()- 我以url{{url}}/oauth/token登录邮递员 正文:application/x-www-form-urlencoded { 授权类型:{pa

  • 我正在尝试在多租户应用程序中实现 OAuth 2.0 授权代码流。 我首先在 请求了“openid 配置文件电子邮件”范围的授权,然后使用我获得的代码以及 、client_id、client_secret redirect_uri 作为访问令牌 我得到的响应只包含< code>id_token和< code>token_type=Bearer。为什么没有给我< code>access_token和

  • 我目前正在学习OAuth 2.0和OpenID Connect,我对授权服务器和访问令牌有疑问。规范将授权服务器定义为: 服务器在成功验证资源所有者并获得授权后向客户端发放访问令牌。 因此,据我所知,客户端将用户重定向到授权服务器,用户在授权服务器上进行身份验证,授权服务器向客户端发出访问令牌。 现在有一件事发生了,直到现在我才明白。有两种可能的方法来理解这一点,我正在努力找到正确的方法: > 授

  • 我使用WSO2 API manager 1.10.0,WSO2 Identity Server 5.1.0配置为密钥管理器,MySQL Community Server 5.6用于数据库。当我尝试刷新通过授权代码授权类型获得的令牌(refresh_token授权类型)时,我收到400错误请求错误(invalid_grant -提供的授权授权无效),并且我无法获得新令牌。然后,我尝试使用client

  • 我正在创建一个小的YouTube Analytics API脚本,我一直在尝试用用户授权码交换访问令牌。 我已经设法获得了授权令牌,但是我不知道如何“向Google提交POST请求”。 我认为这是可行的: 但我不知道在条件之间放什么才能真正交换代码。当我访问该位置时 https://accounts.google.com/o/oauth2/code={代码} 我得到一个未知的URL。