Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const passport = require('passport');
- const LocalStrategy = require('passport-local').Strategy;
- const passportJWT = require('passport-jwt');
- const JWTStrategy = passportJWT.Strategy;
- const bcrypt = require('bcrypt');
- const { secret } = require('./keys');
- const UserModel = require('./models/user');
- passport.use(new LocalStrategy(async (username, password, done) => {
- try {
- const userDocument = await UserModel.findOne({username: username}).exec();
- const passwordsMatch = await bcrypt.compare(password, userDocument.password);
- if (passwordsMatch) {
- return done(null, userDocument);
- } else {
- return done('Incorrect Username / Password');
- }
- } catch (error) {
- done(error);
- }
- }));
- passport.use(new JWTStrategy({
- jwtFromRequest: req => req.cookies.jwt,
- secretOrKey: secret,
- },
- (jwtPayload, done) => {
- return done(null, jwtPayload);
- }
- ));
Add Comment
Please, Sign In to add comment