安裝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數組。