const JsonWebToken = require('jsonwebtoken') const crypto = require('crypto') const my = {} module.exports = { init (envar) { my.tokenKey = envar.tokenKey }, createToken (content, key) { // content 可以是数字,非空字符串或非空对象,不可以是数组。 // key 可以未定义,则默认设为空字符串,再转化为哈希。(jsonwebtoken 要求 key 必须有值) try { return JsonWebToken.sign( content, crypto .createHash('sha256') .update(key || my.tokenKey || wo.envar.tokenKey || '', 'utf8') .digest('hex') ) } catch (exp) { return null } }, verifyToken (token, key) { try { return JsonWebToken.verify( token, crypto .createHash('sha256') .update(key || my.tokenKey || wo.envar.tokenKey || '', 'utf8') .digest('hex') ) } catch (exp) { return null } }, }