首页 > 解决方案 > 最后一个过期令牌时如何请求新的刷新令牌?

问题描述

我有两个用于 docusign 的帐户,live 和 demo。演示版已经有一段时间没有使用了,实际上最后一次创建刷新令牌是在 11 月 14 日。因此,我假设它已经过期,并且可能会阻止我购买新的。

当我提出请求时,我收到 invalid_grant 错误。相同的代码(带有测试凭据)适用于我的真实帐户,该帐户每隔几天左右请求一个实时令牌。在长时间不使用之前,它在测试凭证上也能正常工作。

我假设我需要获取一个新的刷新令牌,但没有有效的先前令牌,我不知道该怎么做。

标签: oauthdocusignapi

解决方案


以下适用于 DocuSign 的 OAuth2 认证服务:

当您使用刷新令牌获取新的访问令牌时,您还会获得一个新的刷新令牌。但请参阅以下内容:

如果您的原始 OAuth 请求仅包含signature范围,则新刷新令牌的到期日期将与原始刷新令牌相同(30 天)。

但是,如果您同时请求signatureextended范围,那么您的新刷新令牌将在您刷新它的 30 天后过期。

因此,无需用户再次进行身份验证即可继续获取新访问令牌的方式是:

  1. 用户使用signatureextended范围进行身份验证。您的应用程序将身份验证代码交换为访问令牌(有效期为 8 小时)和刷新令牌(有效期为 30 天)。
  2. 在 30 天内,刷新访问令牌。这也为您提供了一个新的刷新令牌,适用于新的 30 天期限。
  3. 冲洗并重复。只要您至少每 30 天获得一个新的刷新令牌,您就可以永远继续下去。

警告:出于信息安全的原因,最终用户、他们的管理员和/或 DocuSign 可能会使所有现有的刷新令牌无效。这是一个不寻常的极端情况,但可能会发生。测试极端情况的最简单方法:删除用户对应用程序的同意。


推荐阅读