我遇到了一个问题,它总是在未经授权的情况下返回给我.当我将标题授权设置为收到的令牌时.它返回. Unauthorized . router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) = { res
Unauthorized
.
router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) => { res.json('It worked: User ID is: ' + req.user._id); });
.
var jwtOptions = { jwtFromRequest: ExtractJwt.fromAuthHeader(), secretOrKey: config.jwt.secretOrKey //issuer: config.jwt.issuer, //audience: config.jwt.audience, }; passport.use(new JWTStrategy(jwtOptions, (jwt_payload, done) => { User.findOne({id: jwt_payload.id}, (err, user) => { if (err) { return done(err, false); } if (!user) { return done(null, false); } return done(null, user); }); }));你必须改变这些事情:
1)你必须改变
jwtFromRequest:ExtractJwt.fromAuthHeader(),到jwtFromRequest:ExtractJwt.fromAuthHeaderAsBearerToken(),
2)设置标题:
授权:承载{token}
3)jwt_payload._id更改为jwt_payload._doc._id