/** * Config: Passport.js */ const StrategyJWT = require(`passport-jwt`).Strategy; const ExtractJWT = require(`passport-jwt`).ExtractJwt; const { users } = require(`../models`); module.exports = (passport) => { const options = {}; options.jwtFromRequest = ExtractJWT.fromAuthHeaderAsBearerToken(); options.secretOrKey = process.env.tokenSecret; passport.use(new StrategyJWT(options, async (jwtPayload, done) => { let user; try { user = await users.getById(jwtPayload.id); } catch (error) { console.log(error); return done(error, null); } if (!user) { return done(null, false); } return done(null, users.convertToPublicFormat(user)); })); };