天天看点

在Node中使用JWT(JSON Web Token) 实现用户认证

安装npm包:

npm i jsonwebtoken

使用

jsonwebtoken

包,可以创建 authentication token, 并验证token是否仍然有效,是否过期。

JWT 分3个部分: Header, Payload, Signature

测试代码:

const jwt = require("jsonwebtoken");
const myFunc = async () => {
  const token = await jwt.sign({ _id: 1234 }, "mysecret");
  console.log(token);
//eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjEyMzQsImlhdCI6MTYzMDQxNTM3MH0.Y0psPcp-HqAg4WFEbdskvpWFJrAgqtKaW7_wGOLUmE4
// 以上的token,在https://www.base64decode.org/ 中decode,可以看到如下字符串:
// {"alg":"HS256","typ":"JWT"}{"_id":1234,"iat":1630415370}
  const decode = await jwt.verify(token, "mysecret");
  console.log(decode);
  //{ _id: 1234, iat: 1630415370 }
};
myFunc();
           

JWT 与用户帐号绑定,一个帐号有一个JWT数组。

继续阅读