Files
forgetmenot-django/api/config/passport.js
2020-11-11 21:26:11 -06:00

31 lines
695 B
JavaScript

/**
* 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));
})
);
};