Я выполнил следующие действия для проверки подлинности паспорта в узле.
1) Я использую jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken()
,
module.exports = function(passport){
var opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = config.secret;
console.log('Inside passport');
//opts.issuer = 'accounts.examplesoft.com';
//opts.audience = 'yoursite.net';
passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
console.log('Payload :: '+jwt_payload._doc);
User.getUserById({id: jwt_payload._doc._id}, function(err, User) {
if (err) {
return done(err, false);
}
if (User) {
return done(null, User);
} else {
return done(null, false);
// or you could create a new account
}
});
}));
2) Вызов метода следующим образом:
userExpressRoutes.route('/profile')
.get(passport.authenticate('jwt', { session: false }), function (req, res) { });
3) Установка заголовка в Ppostman, например: Authorization:Bearer {token}
Заголовок пост-аутентификации
4) Дает undefined
полезную нагрузку
Payload :: undefined
TypeError: Cannot read property '_id' of undefined
Чего здесь не хватает для получения Jwt_payload?
Может кто-нибудь мне помочь?