jsonwebtoken

要用到的就是jsonwebtoken

npm文档:https://www.npmjs.com/package/jsonwebtoken

token的作用

我们可以把token理解为一个令牌、或者是一个钥匙,我们在登录成功的时候,后端会返回一个token,我们可以拿着这个token去请求对应的一些数据,比如某些数据库的数据信息,必须带着这个钥匙或者令牌去拿,我们才能得到想要拿的东西,如果我们没有token或者token已经过期的话那么我们是拿不到对应的数据的

使用方法

  1. 安装
    $ npm install jsonwebtoken
  2. 引入
    var jwt = require('jsonwebtoken');
  3. 使用sign方法
    var token = jwt.sign("规则","加密名字","过期时间","箭头函数");
    箭头函数第二个参数就是根据对应的规则得到的token值,可以把该值返回给前端
    例子:
    //利用id和username构建一个规则
    const rule = { id: user.id, username: user.username };
    jwt.sign(rule, "secret", { expiresIn: 3600 }, (err, token) => {
     if (err) throw err;
         res.json({
         success: true,
         data: {
             token: "Bearer " + token
         }
     });
    });

在路由中验证token

  1. 下载
    npm install passport
  2. 引入
    const passport = require("passport");
  3. 初始化
    app.use(passport.initialize());
  4. 再路由中使用
    router.get("/current","验证token",(req,res)=>{
     res.json(...)
    })