私は簡単な認証のためにpassport-jwtパッケージを使用しています。トークンはjsonwebtokenによって生成されています。 しかし、問題は、コールバックが決して呼び出されないことです。パスポートjwt検証コールバックが呼び出されていません
ここで私のパスポート.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);
}
});
}));
};
あなたからのご希望です。
おかげ
ルータの設定は、サンプルのような普通のである:\t router.route( '/ timeRecords') \t .post(passport.authenticate( 'JWT'、{セッション:偽})、timeRecordController.postTimeRecords) \tに.get( passport.authenticate( 'jwt'、{session:false})、timeRecordController.getTimeRecords); – Softalent