我们如何知道 VUE/Django/JWT 用户是否仍然活跃?

How can we know if User still active with VUE/Django/JWT?

目前我使用 rest_framework_jwt 来管理身份验证过程,检查了文档 Django REST framework JWT refresh-token 我在下面找到了这句话,

Each time the user loads the page, you can check if there is an existing non-expired token and if it's close to being expired, refresh it to extend their session. In other words, if a user is actively using your site, they can keep their "session" alive.

我的查询是,

  1. 如何知道用户是否仍然活跃?
  2. 我们可以无限延长这种“活跃”状态吗?看起来最大刷新时间是:'JWT_EXPIRATION_DELTA' + 'JWT_REFRESH_EXPIRATION_DELTA'

配置:前端:VUE;后端:Django;后端 API:DRF

我的建议:

  1. 当用户登录时,用户名+密码被发送到服务器并在验证后生成一个令牌并存储在服务器上并发送回客户端。

  2. 客户端一旦收到令牌,将其存储在本地存储中。

  3. 从那时起,每次用户向服务器发出请求时,都会将令牌附加到请求中。在服务器端,检查传入请求中的令牌并使用服务器已有的令牌对其进行验证。

  4. 如果token有效,则执行后台处理。

不过,令牌一般应该是short-lived(几个小时)。这通常应该带有“刷新令牌”,刷新令牌用于刷新访问令牌,通常 long-lived(几个月)。