如何使用jsobwebtoken加密多个对象?

时间:2017-10-30 16:48:29

标签: node.js express json-web-token

目前我想使用jsonwebtoken

存储多个对象
router.post('/login', (req, res, next) => {
  User.findOne({ email: req.body.email }, function(err, user) {

      var token = jwt.sign(user, config.secret, {
       expiresIn: JWT_EXPIRE
     });
});

如何存储其他数据,例如

 var isMerchant = true
 var token = jwt.sign(user, isMerchant, config.secret, {
       expiresIn: JWT_EXPIRE
  });

不起作用

1 个答案:

答案 0 :(得分:0)

第一个参数是编码的对象,因此如果要对其进行编码,则需要将属性附加到user对象。

// add the property here
user.isMerchant = true;

var token = jwt.sign(user, config.secret, {
  expiresIn: JWT_EXPIRE
});

看起来您正在使用Sequelize,因此您可能还希望使用raw: true参数进行查询,或在编码之前调用user.toJSON(),这样您只需保存值,而不是{{1}或者它的某个版本。