【发布时间】:2020-09-01 00:42:44
【问题描述】:
在使用 OAuth 2.0 JWT 刷新令牌实现时,我遇到了一个问题,即在 Web 浏览器客户端上实现可靠的刷新策略确实很困难。多个选项卡可能会导致请求出现竞争状态。
RFC 没有明确提到服务器端的刷新令牌仅对一个(第一个)请求有效,但我认为在使用刷新令牌时使其无效是个好主意。
堆栈溢出问题已经有多种“解决方案”,但似乎没有一个是直截了当的。
一种解决方案是在请求中添加 Jitter 并通过本地存储同步请求。
如果我理解正确,您会在请求启动时将变量放入本地存储,其他选项卡检查是否设置了此变量,然后不启动刷新?你知道这个的示例实现吗?也许在 React 中?
【问题讨论】:
标签: authentication oauth-2.0 jwt race-condition refresh-token