当用户在 nodeJS/Express 和 Angular 中闲置一段时间(基于令牌的授权)时,我如何使我的 JWT 令牌过期

How can i expire my JWT token, when user is idle for sometime(Token based authorization) in nodeJS/Express and Angular

当用户使用正确的凭据在服务器 side.Previously 上登录时,我正在为用户生成 JWT 令牌,我将令牌存储在数据库中,对于每个请求,我都从数据库中获取令牌,这导致不好的做法(如果我没记错的话)。在客户端(在我的控制器中),我可以将该令牌存储在 $rootscope 中,这样我就可以发送该令牌以及每个 request.I 我无法找到我应该在哪里为每个请求存储我的 JWT 令牌以在服务器端访问?

  1. 有人建议我用Redis来存储JWT token
  2. 如果我使用 Redis,我可以为我的令牌设置 maxAge,当用户空闲一段时间后删除令牌吗??

谁能给我一些程序的建议吗?如果不对,请给我一个正确的方法!

注意:我是 NodeJS/Express 和 AngularjS

的新手

最简单的方法:

当您为登录用户颁发新令牌时,将 'validDate' 字段添加到令牌有效负载,然后在处理请求时检查此字段。如果日期过期只是 return 401 错误

JWT 有一个 exp 声明。将其设置为您希望令牌有效的时间,并在令牌已过期时检查路由。 如果有,发送 401。否则让路由处理请求。