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

标签 angularjs node.js express redis jwt

当用户在服务器端使用正确的凭据登录时,我正在为用户生成 JWT token 。以前,我将 token 存储在数据库中,对于每个请求,我都会从数据库中获取 token ,这会导致不良做法(如果我没有错。在客户端(在我的 Controller 中),我可以将该 token 存储在 $rootscope 中,以便我可以在每个请求中发送该 token 。我无法找到我应该在哪里存储我的 JWT token 以访问在服务器端为每个请求??

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

任何人都可以为我的程序提供建议吗?如果有误,建议我采用正确的方法!

注意:我是 NodeJS/Express 和 AngularjS 的新手

最佳答案

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

关于angularjs - 当用户在 nodeJS/Express 和 Angular 中闲置一段时间(基于 token 的授权)时,我如何使我的 JWT token 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717357/

相关文章:

javascript - 如何在核心javascript中实现angular $watch函数

html - 如果输入为空,则应禁用一个按钮,但另一个按钮也会受到影响

javascript - 如何使用 bookshelf 根据 API url 中的查询字符串中传递的参数过滤数据?

javascript - GraphQL "Cannot return null for non-nullable"

android - 获取请求在 iOS 上显示响应,但不适用于 Android

javascript - AngularJS在指令模板中执行 Controller 函数

javascript - 将 JSON 从 API 转换为事件流

javascript - 异步等待和可共享的 MongoDB 连接

javascript - Grunt 复制和 fontawesome 字体

node.js - 在带有 MongoDB 聚合的字典数组上使用 $mergeObjects