Files

31 lines
794 B
JavaScript

const passport = require('passport');
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const config = require('../../config');
const User = require('../../models/user');
module.exports = function(passport) {
passport.use(new JwtStrategy(
{
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: config.security.jwt.secret,
issuer: config.security.jwt.issuer,
audience: config.security.jwt.audience,
},
(jwt_payload, done) => {
User.findOne({ _id: jwt_payload.sub }, (err, user) => {
if (err) {
return done(err, false);
}
if (user) {
return done(null, user);
}
return done(null, false);
});
}
));
}