当最后一个令牌过期时,如何请求新的刷新令牌?

时间:2019-01-23 17:06:45

标签: oauth docusignapi

我有两个帐户,分别是现场直播和演示。该演示版已有一段时间没有使用,实际上,上一次创建刷新令牌的时间是11月14日。因此,我假设它已经过期,并且有可能阻止我购买新的。

当我发出请求时,我收到invalid_grant错误。相同的代码(带有测试凭据)可以在我的真实账户中正常工作,该账户每两天左右请求一个真实令牌。直到长时间不使用它,它在测试凭据上也可以正常工作。

我假设我需要持有一个新的刷新令牌,但是如果没有有效的先前令牌,我不确定该如何处理。

2 个答案:

答案 0 :(得分:2)

以下内容适用于DocuSign的OAuth2身份验证服务:

使用刷新令牌获取新的访问令牌时,还将获得新的刷新令牌。但是请参见以下内容:

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

但是,如果您同时请求signatureextended范围,则新的刷新令牌将从刷新之日起30天失效。

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

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

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

答案 1 :(得分:1)

如果刷新令牌已过期或以其他方式被吊销,则无法刷新刷新令牌。您必须重复身份验证流程才能获取新的刷新令牌。