Guest User

Untitled

a guest
Jul 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. const passport = require('passport');
  2. const LocalStrategy = require('passport-local').Strategy;
  3. const passportJWT = require('passport-jwt');
  4. const JWTStrategy = passportJWT.Strategy;
  5. const bcrypt = require('bcrypt');
  6.  
  7. const { secret } = require('./keys');
  8.  
  9. const UserModel = require('./models/user');
  10.  
  11. passport.use(new LocalStrategy(async (username, password, done) => {
  12. try {
  13. const userDocument = await UserModel.findOne({username: username}).exec();
  14. const passwordsMatch = await bcrypt.compare(password, userDocument.password);
  15.  
  16. if (passwordsMatch) {
  17. return done(null, userDocument);
  18. } else {
  19. return done('Incorrect Username / Password');
  20. }
  21. } catch (error) {
  22. done(error);
  23. }
  24. }));
  25.  
  26. passport.use(new JWTStrategy({
  27. jwtFromRequest: req => req.cookies.jwt,
  28. secretOrKey: secret,
  29. },
  30. (jwtPayload, done) => {
  31. return done(null, jwtPayload);
  32. }
  33. ));
Add Comment
Please, Sign In to add comment