刷新令牌

访问令牌的有效期特意设计得很短,因此被盗的访问令牌也只能短暂使用。刷新令牌则与之对应,有效期更长:客户端会保留刷新令牌,不会将其发送给资源服务器,只有在需要新的访问令牌时才会将其提供给授权服务器。

工作原理

当 API 返回 401 错误,提示访问令牌已过期(或即将过期)时,客户端会向令牌端点发送 POST 请求 grant_type=refresh_token,并接收一个新的访问令牌,通常还会附带一个新的刷新令牌来替换旧的刷新令牌(轮换)。重复使用已轮换的刷新令牌属于令牌被盗用,设计良好的服务器会撤销整个令牌链。

误解

每次出现 401 错误都刷新页面是正确的。如果 401 错误是由令牌被撤销或无效引起的,刷新后仍然会失败;如果客户端无限次刷新和重试,就会将登出操作变成无限循环。正确的做法是刷新一次,重试一次,如果仍然失败,则引导用户重新登录。

点击这里试试

POST /auth/v1/oauth/token会在授权码流程中颁发刷新令牌,并接受带有该刷新令牌的 grantType refresh_token 请求以获取新的访问令牌。此处的访问令牌会在 15 秒后过期,因此刷新流程会很快完成。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间