Node 使用jwt验证
jwt(Json Web Token)是一种验证方式,具体请翻阅 阮一峰-JSON Web Token 入门教程
node 使用 jwt 可以参阅node-jsonwebtoken
示例
- 签发 token
 
let token = jwt.sign(
  {
    name: name,
    id: id,
  },
  'secret', //签名
  {
    expiresIn: 3600 * 5, // 保存时间5个小时
  }
)
- 解析 token
 
   // 通用解析
    jwt.verify(token, secret, (err, decoded) => {
        if(err){
            console.log(err)
            return
        }
        console.log(decoded)
    }
   // express-jwt 解析
    let expressJWT = require("express-jwt")
    app.use(
        expressJWT({
            secret: "secret",
        }).unless({
            path: ["/login"], //除了这个地址,其他的 URL 都需要验证
        })
    )
- 获取 token 中的数据(使用 express-jwt)
 
app.get('/posts', (req, res, next) => {
  let id = req.user.id
  let name = req.user.name
})