我正在尝试使用passport-jwt,express等进行身份验证。 我目前没有通过身份验证,但最令人不安的是,我似乎无法在函数内部安装console.log ......没有任何反应。
这是完整的passport.js
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const User = require('../models/user');
const config = require('../config/database');
module.exports = function(passport) {
let opts = {};
opts.jwtFromRequest = ExtractJwt.fromHeader();
opts.secretOrKey = config.secret;
console.log(opts); // THIS SHOW PRIORE TO THE EXPRESS LISTEN MSG!
passport.use(new JwtStrategy(opts, (jwt_payload, done) => {
console.log(jwt_payload); // THIS DOESNT EVER SHOW!
User.getUserById(jwt_payload._id, (err, user) => {
if (err) {
return done(err, false);
}
if (user) {
return done(null, user);
} else {
return done(null, false);
// or create a new account
}
});
}));
}
users.js
const express = require('express');
const router = express.Router();
const passport = require('passport');
const jwt = require('jsonwebtoken');
const config = require('../config/database');
const User = require('../models/user');
...code removed for brevity...
router.get('/profile', passport.authenticate('jwt', {session:false}), (req,res,next) => {
res.json({user: req.user});
});
module.exports = router;
关于如何“看到”我的有效载荷的任何想法,以便我能找到最新情况?
我正在使用邮递员点击“http://localhost:3000/users/profile” 传递标题“身份验证”和令牌“JWT my-token ...”
THx - 我意识到这是一个奇怪的请求...我正在关注的教程,表明我应该能够看到有效负载,即使我没有经过身份验证...... 所以我有点不知道该转向何处。
答案 0 :(得分:0)