導入
const {sign,decode,verify}=require('jsonwebtoken');
1. sign(payload, secretOrPrivateKey, [options, callback])
let token=sign({name:'xxx'}, 'secret', { algorithm: 'HS256',expiresIn:60});
// payload // 需要加密的內容
// secretOrPrivateKey // 加密所用的字符串或者private.key密鑰文件
// options // 參數列表
{
algorithm: 'HS256', // 加密使用的算法 如果不使用private.key 只能使用HS開頭的算法
expiresIn:'10s' // 有效時間 若加密內容不是對象 則無法設置有效時間 可以是數字、字符串 如 60, "2 days", "10h", "7d".
}
// callback 回調函數 如果有回調函數 則是以異步方式在回調函數中接收兩個參數 err和token
// 若沒有回調函數 則是以同步的方式返回token
2. jwt.verify(token, secretOrPublicKey, [options, callback])
let verifyResult=verify(token,'secret');
// token 需要驗證的token
// secretOrPublicKey 加密時使用的加密字符串
// options 參數列表
// callback 回調函數 有則是異步返回 沒有是同步返回結果 (err,decoded)
3. jwt.decode(token [, options])
let decodeResult=decode(token)
// token 需要解密的token
// options 參數列表 如json:boolean,
直接以同步的方式返回解密之後的結果和verify基本一致