[OAuth 2.0刷新令牌多个标签

问题描述 投票:0回答:1

[使用OAuth 2.0 JWT Refresh令牌实现时,我遇到了一个问题,即在Web浏览器客户端上实施可靠的Refresh策略确实很困难。多个选项卡可能导致带有请求的竞速条件。

[RFC没有明确提及仅在服务器端使刷新令牌仅对一个(第一个)请求有效,但我认为在使用刷新令牌时使它们无效是一个好主意。

堆栈溢出时已经有多个“解决方案”,但似乎都不是直接的。

一种解决方案是在请求中添加抖动并通过本地存储同步请求。

如果我理解正确,您将在启动请求时将变量放入本地存储中。其他选项卡会检查是否设置了该变量,然后不启动刷新?您知道这个的示例实现吗?也许在React中?

authentication oauth-2.0 jwt race-condition refresh-token
1个回答
0
投票

如果您使用的是无cookie SPA,最常见的解决方案是避免刷新令牌并执行此操作:

  • 使用OIDC client library
  • 将令牌存储在内存或会话存储中(本地存储会增加很多浏览器问题)
  • 使用授权服务器的会话cookie(在浏览器选项卡之间共享)通过隐藏的iframe进行更新

不可食用的温泉资源

如果我了解您的设置,那么这可能对我有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.