客户端请求新Refresh Token时,是否需更新其过期时间?
问题解答:Refresh Token刷新时的过期时间处理
核心结论
在客户端请求刷新令牌时,API必须同时更新新Refresh Token的过期时间,你提到的指南中refresh-token端点仅更新Refresh Token但不更新RefreshTokenExpiryTime的做法是错误的,该端点需要和login端点保持一致的逻辑。
具体分析
- 登录(
login)端点的逻辑是合规的:生成新Refresh Token的同时设置对应的过期时间,确保每个令牌都有明确的有效期限。 - 刷新(
refresh-token)端点的正确流程应该是:- 校验旧Refresh Token的有效性(包括是否未过期、是否与数据库存储的匹配)
- 生成新的Access Token和Refresh Token
- 将数据库中对应用户的Refresh Token替换为新值,并同步更新
RefreshTokenExpiryTime为新令牌的有效期 - 返回新的Access Token和Refresh Token给客户端
- 不更新过期时间的隐患:如果仅替换Refresh Token而保留旧的过期时间,要么新令牌会提前失效(旧时间早于当前时间),要么旧的过期时间过长,违背了Refresh Token定期轮换、缩短有效窗口的安全设计原则。
内容的提问来源于stack exchange,提问作者O S
相关产品推荐
相关产品推荐

