const jwt = require('jsonwebtoken') // cert密鑰 let cert = '12345678901234567890123456789012' let jwtVerify = (token) => { jwt.verify(token, cert, (err, decoded) => { if (err) { console.log(err) } else { console.log(decoded) } }); } // Claims (Payload) // sub(subject): 該JWT所面向的用戶 The subject of the token, token 主題(用戶id) // iss(issuer): 該JWT的簽發者 The issuer of the token, token 是給誰的(網站地址,特殊標識等) // iat(issued at): 在何時簽發的 token Issued At, 建立時間(Unix 時間戳格式) // exp(expires): token何時過時 Expiration Time, token 過時時間(Unix 時間戳格式) // nbf(not before):token在此時間以前不能被接收處理(Unix 時間戳格式) // jti(jwtid):JWT ID爲web token提供惟一標識 let createAt = Math.trunc(Date.now() / 1000) jwt.sign({ sub: 6, iss: 'http://localhost:8000/', iat: createAt, // 1482140990, exp: createAt + 100000, // 1482227390, nbf: createAt, jti: 'id123456789012345678901234567890' }, cert, { algorithm: 'HS256' }, function (err, token) { console.log(`token: ${token}`) jwtVerify(token) });