Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import bcrypt from 'bcrypt';
- import models from '../models';
- import passport from 'passport';
- module.exports = function (passport, user) {
- const User = models.users;
- let LocalStrategy = require('passport-local').Strategy;
- passport.serializeUser((user, done) => {
- console.log("SerializeUser: " + user.userName);
- done(null, user.id);
- });
- passport.deserializeUser(function (id, done) {
- console.log("Deserialize: " + id);
- User.findById(id, function (err, user) {
- done(null, user);
- })
- });
- let isValidPassword = function (password, userpass) {
- return bcrypt.compare(userpass, password);
- }
- passport.use('local-login', new LocalStrategy({
- usernameField: 'userName',
- passwordField: 'userPassword',
- passReqToCallback: true
- },
- (user, username, password, done) => {
- User.find({
- where: {
- userName: username
- }
- })
- .then((user) => {
- if (!user) {
- console.log("User not found");
- return done(null, false);
- }
- if (!isValidPassword(user.userPassword, password)) {
- console.log("Password does not match");
- return done(null, false);
- }
- console.log("Validation successfull");
- return done(null, user);
- })
- }))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement