tokenUtil.js 1.0 KB
/**
 * Created by fzy on 17/8/16.
 */
var jwt = require('jsonwebtoken');
var ObjectId = require('objectid');

function JwtSession() {
}

module.exports = new JwtSession() ;

/**
 * 生成token
 * @param users
 * @param cb
 */
JwtSession.prototype.getSession =  (users) =>{
  var expiresIn = 60 * 60 * 60 * 60 * 60;
  var payload = {};
  payload.id = users.id;
  payload.name = users.loginName;
  payload.code =users.userType;
  var options = {
    "expiresIn": expiresIn
  };
  var token = jwt.sign(payload, '3mang', options);
  users.token = token;
  users.tokenTime = expiresIn;
  
   return users;

};

/**
 * 验证token
 * @param token
 * @param cb
 */
JwtSession.verifySession = function (token,cb) {
   jwt.verify(token, 'Efangcpap',function (err ,data) {
     console.dir(data);
       if (err && err.name === 'TokenExpiredError') {
         cb && cb({message: 'token expired'});
       } else if (err && err.name === 'JsonWebTokenError') {
         cb && cb({message: 'invalid token'});
       }else {
         cb && cb (null,data);
       }
   });

};