nodejs token验证登录状态中间件 jwt-simple 包使用详解

前言

  1. 传统 session 验证

传统的服务端验证使用的技术是 session 来实现,就是把登录信息存在服务端,每次通过访问 sessionid 来进行获取信息,但这样会出现一些问题,比如每当用户发起请求时,服务端都需要创建一个对象用于存储这些信息,这样当越来越多的用户访问,那么服务端创建的 session 也就越来越多,从而导致内存的开销也越来越大。

  1. 为什么要使用 token

基于 token 的身份验证是无状态的,可以不用将信息存储在服务器端或者 session 中,token 依赖于请求头传输,当客户端发送请求时,只需将 token 信息放到 header 请求头一并发给服务端,服务端对 token 做解析认证即可。
基于 token 验证的步骤如下:

  • 登陆时,客户端发送用户名和密码
  • 服务端验证用户名密码是否正确,校验通过会生成一个有时效的 token 串,发送给客户端
  • 客户端存储 token,一般都会存储在 localStorage 或者 cookie 里面
  • 客户端每次请求时都带有 token,可以将其放在请求头中里,每次请求都携带 token
  • 服务端验证 token,所有需要校验身份的接口都会被校验 token,若 token
    解析后的数据包含用户身份信息,则身份验证通过,返回数据

一、简介

JWT(JSON Web Token) 编码解码模块

二、使用

安装

npm install --save jwt-simple

生成token & 解析token

const tokenExpiresTime = 1000 * 60 * 60 * 24 * 7

//秘钥
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值