Passport.js Passport.authenticate()总是返回未经授权的401

时间:2019-02-25 20:46:46

标签: javascript node.js authentication jwt passport.js

我在下面有一条路线

router.get('/list', passport.authenticate('jwt', { session: false }), listService.fetch);

现在,当我请求列出端点时,我总是得到401 unauthorized

我将路线从上方更改为下方,以查看发生了什么情况。

router.get('/list', (req, res, next) => {
  passport.authenticate('jwt', (err, user, info) => {
    console.log('ERR: ', err); // returns null
    console.log('USER: ', user); // returns false
    console.log('INFO: ', info);  /// undefined
}, listService.fetch);

但是您可以看到使用上述方法没有错误,也没有用户和信息。

在password.js中,我正在使用计划

opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme('JWT');

要登录用户,我正在使用jwt sign方法,例如

var token = jwt.sign(user.toJSON(), 'secret', {
      expiresIn: 10080
    });

任何想法我在这里做错了什么以及如何解决。

0 个答案:

没有答案