跳到正文
原文
WorkOS Blog·· 2026-08-31AI 评分34

WorkOS 谈 OAuth token 刷新的竞态条件:用条件写入而非分布式锁修复

OAuth token refresh has a race condition. Fix it with a conditional write, not a distributed lock.

AI 导读

WorkOS 指出 OAuth token 刷新存在两类失败:丢失更新可自愈,而刷新令牌轮换下的重放检测会触发授权服务器吊销整个令牌家族,导致用户被迫重新授权。Redis 锁只是租约而非互斥,GC 暂停或超时会让两个 worker 同时刷新。建议提前至约 75% 生命周期加抖动刷新、进程内 single-flight,并用带 version 列的条件写入保证正确性。

来源:WorkOS Blog · workos.com