护照jwtvalidationcallback没有被调用

我使用passport-jwt包进行简单身份validation,令牌由jsonwebtoken生成。 但问题是validationcallback从不被调用。

这里是我的passport.js代码。

var JwtStrategy = require('passport-jwt').Strategy; var User = require('../app/models/user'); var config = require('../config/database'); var opts = {}; opts.jwtFromRequest = function(req) { var token = null; if (req && req.headers) { token = req.headers.authorization; } return token; }; opts.secretOrKey = config.secret; console.log(opts); module.exports = function(passport) { passport.use(new JwtStrategy(opts, function(jwt_payload, done) { User.findOne({_id: jwt_payload._doc._id}, function(err, user) { if (err) { return done(err, false); } if (user) { done(null, user); } else { done(null, false); } }); })); }; 

希望能从你那听到答复。

谢谢

问题是你应该添加“智威汤逊”(智威汤逊和原始jwt签名之前的空间)。 请查阅Joshua的这篇教程http://blog.slatepeak.com/building-a-basic-restful-api-for-a-chat-system/寻求帮助。 顺便说一下,如果你在findOne里面需要一个“where”,那么确保你的位置。