【问题标题】:Bearer Token Invalid Token不记名令牌 无效令牌
【发布时间】:2020-02-25 21:25:42
【问题描述】:

想在邮递员中使用不记名令牌,但我在使用不记名时得到了无效令牌,但没有输入它可以正常工作。

const auth = async (req , res, next) => {
  try {
    const token = req.header('Authorization').replace('Bearer', '');
    const decoded = jwt.verify(token, 'thisismynewcourse');
    console.log('decoded', decoded);
    const user = await User.findOne({_id: decoded._id , 'tokens.token': token})
    console.log('token ',token);
    if (!user) {
      throw new Error()
    }
    req.token = token;
    req.user = user
    next();

  } catch (e) {
    console.log(e);
    res.status(400).send({error: 'please authenticate'})
  }
}

router.get('/users/me', auth ,async (req, res) => {
  res.send(req.user)
})

【问题讨论】:

    标签: node.js mongoose postman


    【解决方案1】:

    不记名令牌的格式如下:

    Bearer XXX // “承载” + 空格 + 令牌

    您忘记了 replace() 上的空格

    替换.replace('Bearer', '');

    通过这个.replace('Bearer ', '');

    【讨论】:

      猜你喜欢
      • 2021-11-28
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 2020-05-24
      • 2014-11-05
      • 2019-08-08
      • 2011-10-25
      相关资源
      最近更新 更多