JWT-刷新令牌和安全改进

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

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

我的问题是:

1)是否可以打开多个选项卡并恢复第一个打开的选项卡的状态,并且当用户注销某个选项卡时,他将从所有选项卡中注销吗? (Facebook使用此方法)

2)想象一下,我在一个朋友的地方连接到该网站,而当我离开时却忘记了断开连接,有什么方法可以在我回到家时与所有设备断开连接? (Facebook也使用它)

3)是否可以在关闭选项卡后X秒钟/分钟后以应用程序级别状态自动删除令牌,否则连续刷新访问令牌吗?

提前谢谢您

security facebook-authentication refresh-token jwt-auth
1个回答
0
投票
它们始终在所有选项卡上,并且您也可以在一段时间后使它们过期。Cookie将被删除,您将被注销。

为了与设备一起使用,您可以在刷新令牌上使用黑名单,尽管这有悖于JWT的原则,但仍有可能。

SameSite Cookie分布在所有标签上

    Cookie可以与标头中的所有请求一起发送(使用严格模式)
  1. 删除Cookie导致注销
  2. 将Refreshtoken JWT列入黑名单也会导致用户注销。
  • 建议您阅读SameSite cookie(严格)。您会感到惊讶,因为没有很多人对此有所了解。
  • 如果我有任何帮助,可以随时通过DM与我联系。
  • © www.soinside.com 2019 - 2024. All rights reserved.