* 创建token * * @param {*} obj * @param {*} exp * @returns
(params, exp)
| 9 | * @returns |
| 10 | */ |
| 11 | createToken(params, exp) { |
| 12 | let payload = { |
| 13 | data: params, |
| 14 | created: parseInt(Date.now() / 1000),//token生成的时间的,单位秒 |
| 15 | exp: exp || 3600//token有效期,精确到秒 |
| 16 | }; |
| 17 | |
| 18 | //payload信息 |
| 19 | let base64Str = Buffer.from(JSON.stringify(payload), "utf8").toString("base64"); |
| 20 | |
| 21 | //添加签名,防篡改 |
| 22 | let secret = "作者QQ:1178560551"; |
| 23 | let hash = crypto.createHmac('sha256', secret); |
| 24 | hash.update(base64Str); |
| 25 | let signature = hash.digest('base64'); |
| 26 | |
| 27 | return base64Str + "." + signature; |
| 28 | } |
| 29 | |
| 30 | checkToken(token) { |
| 31 | let decodeToken = (token) => { |