jsonwebtoken nodejs表示从令牌中接收所有用户凭据

时间:2018-07-26 01:36:25

标签: node.js express passport.js

我认为创建jwt有效负载时遇到问题。

我正在使用jsonwebtoken 8.2.0,当我创建令牌时,这是我的代码:

 bcrypt.compare(password, user.password).then(isMatch => {
  if (isMatch) {
    // User Matched
  const payload = { id: user.id, name: user.name, avatar: user.avatar }; // 
Create JWT Payload
  // Sign Token
       jwt.sign(
         payload,
         keys.secretOrKey,
         { expiresIn: 3600 },
         (err, token) => {
          res.json({
          success: true,
          token: 'Bearer ' + token
        });
      }
    );
  } else {
   // errors.password = 'Password incorrect';
    return res.status(400).json("eroor");

您可以看到我的const有效负载,但我没有发送密码。

在邮递员中进行测试,我收到令牌,并且在https://jwt.io/上检查令牌字符串时,我仅看到id,name和avatar,但是当我碰到任何受保护的端点时,我可以console.log(req.user)看到所有用户凭据通过,电子邮件。日期...来自用户架构的所有数据?可以吗?

0 个答案:

没有答案