JWT - 刷新令牌和安全性改进



我正在使用NodeJS和ReactJS开发一个新的Web应用程序,并且正在使用JWT进行身份验证。客户端使用 axios.post(( 向/login 发送请求,服务器检查用户输入的数据并返回过期时间为 5 分钟的访问令牌和刷新令牌。我使用 Redux 在应用程序级别状态保存令牌。在下一个请求中,客户端将令牌发送回服务器。

我的问题是:

1(有没有办法打开多个选项卡并恢复打开的第一个选项卡的状态,当用户注销选项卡时,他将注销所有选项卡?(脸书使用这种方法(

2(想象一下,我在朋友家连接到网站,当我离开时我忘记断开连接,有没有办法在我回家时断开与所有设备的连接?(Facebook也使用它(

3(是否可以仅在选项卡关闭时在 X 秒/分钟后自动删除处于应用程序级别状态的令牌,否则会持续刷新访问令牌?

提前谢谢你

9 天后没有回复您的帖子。太糟糕了,让我来帮你。 为了获得您想要的最接近的表示形式,我会使用 SameSite Cookie。

它们始终位于所有选项卡上,您也可以在一段时间后使它们过期。 Cookie 将被删除,您将被注销。

为了使用设备,您可以在刷新令牌上使用黑名单,尽管这违反了 JWT 的原则,但它仍然是可能的。

  1. SameSite Cookie 分布在所有标签上
  2. Cookie 可以与标头中的所有请求一起发送(使用严格模式(
  3. 删除 Cookie 会导致注销
  4. 将刷新令牌 JWT 列入黑名单也会导致用户注销。

建议您阅读有关SameSite cookie(严格(的信息。你会感到惊讶,因为知道它的人并不多。

如果我能提供任何帮助,请随时通过DM与我联系。

相关内容

  • 没有找到相关文章

最新更新