过期离线访问令牌的刷新现在会保留之前使用的刷新令牌,直到应用开始使用其替换令牌。此发布有助于应用在刷新响应丢失或未持久化时进行恢复。无需迁移,但应用应继续以原子方式存储每次刷新的令牌对。
变更内容
此前,应用在使用刷新令牌后,可在最多 60 分钟内重试该令牌。如果应用未接收或未保存新返回的访问令牌和刷新令牌,则在此时间窗口过后,之前存储的刷新令牌将不再可用。
现在,应用可以重试其之前存储的刷新令牌,直到它开始使用替换刷新令牌为止。这为应用在响应丢失或存储失败后提供了恢复路径。
恢复期限制为原始刷新令牌首次使用后的 30 天内,且不会将令牌的有效期延长至其正常的 90 天生命周期之外。当应用使用替换刷新令牌时,前一个刷新令牌将被停用。
受影响对象
使用过期离线访问令牌的应用。此变更不需要新的 API 版本、配置更改或选择加入。
不使用过期离线访问令牌的应用不受影响。
为何重要
在 Shopify 处理刷新请求之后、但在应用保存返回的令牌对之前,可能会发生短暂的网络中断、工作进程故障或数据库写入失败。此变更使受影响的应用能够自行恢复,而无需商户重新打开应用。
操作指南
如果您的应用已在使用过期离线访问令牌,则无需进行迁移。
请继续执行以下操作:
- 对每个商店的刷新操作进行序列化。
- 以原子方式持久化每个返回的访问令牌和刷新令牌对。
- 在后续刷新中使用最新的刷新令牌。
- 将此行为视为恢复丢失响应的路径,而不是在已存储新刷新令牌后继续使用旧刷新令牌的理由。
相关文档
- 离线访问令牌

