Advertisement
Guest User

Untitled

a guest
Nov 27th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import bcrypt from 'bcrypt';
  2. import models from '../models';
  3. import passport from 'passport';
  4.  
  5.  
  6. module.exports = function (passport, user) {
  7.   const User = models.users;
  8.   let LocalStrategy = require('passport-local').Strategy;
  9.  
  10.   passport.serializeUser((user, done) => {
  11.     console.log("SerializeUser: " + user.userName);
  12.     done(null, user.id);
  13.   });
  14.   passport.deserializeUser(function (id, done) {
  15.     console.log("Deserialize: " + id);
  16.     User.findById(id, function (err, user) {
  17.       done(null, user);
  18.     })
  19.   });
  20.  
  21.   let isValidPassword = function (password, userpass) {
  22.     return bcrypt.compare(userpass, password);
  23.   }
  24.  
  25.   passport.use('local-login', new LocalStrategy({
  26.       usernameField: 'userName',
  27.       passwordField: 'userPassword',
  28.       passReqToCallback: true
  29.     },
  30.     (user, username, password, done) => {
  31.       User.find({
  32.           where: {
  33.             userName: username
  34.           }
  35.         })
  36.  
  37.         .then((user) => {
  38.           if (!user) {
  39.             console.log("User not found");
  40.             return done(null, false);
  41.           }
  42.           if (!isValidPassword(user.userPassword, password)) {
  43.             console.log("Password does not match");
  44.             return done(null, false);
  45.           }
  46.           console.log("Validation successfull");
  47.           return done(null, user);
  48.         })
  49.     }))
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement