护照 jwt 验证回调未调用
passport jwt verify callback not called
我使用 passport-jwt 包进行简单身份验证,令牌由 jsonwebtoken 生成。
但问题是永远不会调用验证回调。
这是我的 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 '(JWT和一个space在原来的jwt签名之前)。请查看本教程 http://blog.slatepeak.com/building-a-basic-restful-api-for-a-chat-system/
由约书亚寻求帮助。
顺便说一句,请确保您的 findOne 中是否需要 'where'。
我使用 passport-jwt 包进行简单身份验证,令牌由 jsonwebtoken 生成。 但问题是永远不会调用验证回调。
这是我的 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 '(JWT和一个space在原来的jwt签名之前)。请查看本教程 http://blog.slatepeak.com/building-a-basic-restful-api-for-a-chat-system/ 由约书亚寻求帮助。 顺便说一句,请确保您的 findOne 中是否需要 'where'。