(token)
| 29 | |
| 30 | checkToken(token) { |
| 31 | let decodeToken = (token) => { |
| 32 | |
| 33 | let decArr = token.split("."); |
| 34 | if (decArr.length < 2) { |
| 35 | //token不合法 |
| 36 | return false; |
| 37 | } |
| 38 | |
| 39 | let payload = {}; |
| 40 | //将payload json字符串 解析为对象 |
| 41 | try { |
| 42 | payload = JSON.parse(Buffer.from(decArr[0], "base64").toString("utf8")); |
| 43 | } catch (e) { |
| 44 | return false; |
| 45 | } |
| 46 | |
| 47 | //检验签名 |
| 48 | let secret = "作者QQ:1178560551"; |
| 49 | let hash = crypto.createHmac('sha256', secret); |
| 50 | hash.update(decArr[0]); |
| 51 | let checkSignature = hash.digest('base64'); |
| 52 | |
| 53 | return { |
| 54 | payload: payload, |
| 55 | signature: decArr[1], |
| 56 | checkSignature: checkSignature |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | let resDecode = decodeToken(token); |
| 61 |
nothing calls this directly
no outgoing calls
no test coverage detected