当前位置: 首页 > news >正文

【前端】NodeJS:记账本案例优化(token)

文章目录

  • 1 checkTokenMiddleware.js验证token中间件
  • 2 auth.js登录时创建当前用户的token

1 checkTokenMiddleware.js验证token中间件

//导入 jwt
const jwt = require('jsonwebtoken');
//读取配置项
const {secret} = require('../config/config');
//声明中间件
module.exports = (req, res, next) => {//获取 tokenlet token = req.get('token');//判断if (!token) {return res.json({code: '2003',msg: 'token 缺失',data: null})}//校验 tokenjwt.verify(token, secret, (err, data) => {//检测 token 是否正确if (err) {return res.json({code: '2004',msg: 'token 校验失败~~',data: null})}//保存用户的信息req.user = data; // req.session  req.body//如果 token 校验成功next();});
}

2 auth.js登录时创建当前用户的token

//导入 jwt
const jwt = require('jsonwebtoken');
//导入配置文件
const {secret} = require('../../config/config')//创建当前用户的 token
let token = jwt.sign({username: data.username,_id: data._id
}, secret, {expiresIn: 60 * 60 * 24 * 7
});//响应 token
res.json({code: '0000',msg: '登录成功',data: token
})

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • leetCode - - - 双指针
  • 解密JVM崩溃(Crash)-学习笔记
  • qt-12工具盒(ToolBox)
  • 数学基础 -- 指数增长与指数衰变
  • 使用Go语言将PDF文件转换为Base64编码
  • Wireshark分析工具
  • 构建艺术:Ruby中RESTful API的精粹实践
  • 【IDEA】idea配置服务器没有tomcat
  • 【Django开发】前后端分离django美多商城项目第1篇:欢迎来到美多 项目主要页面介绍【附代码文档】
  • SpringBoot-01-全局异常处理器
  • Docker 部署 XXL-JOB
  • fastzdp_sqlmodel框架是如何实现更新和删除相关的功能封装的,20240817,Python的国产新ORM框架
  • 对外提供开放式数据查询使用什么数据存储?
  • 蚂蚁AL1 15.6T 创新科技的新典范
  • Python 算法交易实验81 QTV200日常推进-重新实验SMA/EMA/RSI
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • angular学习第一篇-----环境搭建
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • cookie和session
  • java2019面试题北京
  • java多线程
  • Logstash 参考指南(目录)
  • magento 货币换算
  • React16时代,该用什么姿势写 React ?
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Transformer-XL: Unleashing the Potential of Attention Models
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 给github项目添加CI badge
  • 山寨一个 Promise
  • 使用common-codec进行md5加密
  • 智能网联汽车信息安全
  • linux 淘宝开源监控工具tsar
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​TypeScript都不会用,也敢说会前端?
  • # SpringBoot 如何让指定的Bean先加载
  • #NOIP 2014# day.1 T2 联合权值
  • #stm32整理(一)flash读写
  • (02)vite环境变量配置
  • (39)STM32——FLASH闪存
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (四)软件性能测试
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 5.0正式发布,有什么功能特性(翻译)