const passport = require('passport'); const jwtStrategy = require('passport-jwt').Strategy; const ExtractStrategy = require('passport-jwt').ExtractJwt; const Admin = require('../models/Admin'); const Faculty = require('../models/Faculty'); const opts = { jwtFromRequest : ExtractStrategy.fromAuthHeaderAsBearerToken(), secretOrKey : "secret" } passport.use(new jwtStrategy(opts,async function(payload,done){ let AdminData = await Admin.findOne({email: payload.adminData.email}); if(AdminData) { if(AdminData.password == payload.adminData.password){ return done(null,AdminData); } else{ return done(null,false); } } else{ return done(null,false); } })) passport.serializeUser(function(user,done){ console.log(user); return done(null,user.id); }) passport.deserializeUser(async function(id,done){ console.log("Deserialize"); console.log(id); let AdminRecord = await Admin.findById(id); if(AdminRecord){ return done(null,AdminRecord); } else{ return done(null,false); } }) module.exports = passport;
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter