用passport-jwt验证token时报错'JwtStrategy requires a function to retrieve jwt from requests (see option jwtFromRequest)'
代码如下
const JwtStrategy = require('passport-jwt').Strategy,
ExtractJwt = require('passport-jwt').ExtractJwt;
const mongoose = require("mongoose");
const User = mongoose.model("users");
const keys = require("../config/keys");
const opts = {}
opts.JwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = keys.secretOrKey;
module.exports = passport => {
passport.use(new JwtStrategy(opts , (jwt_payload , done) => {
console.log(jwt_payload);
User.findById(jwt_payload.id)
.then(user => {
if(user){
return done(null,user);
}
return done(null,false);
})
.catch(err => console.log(err));
}));
}
报错
throw new TypeError('JwtStrategy requires a function to retrieve jwt from requests (see option jwtFromRequest)');