Аутентификация с неработающим Bcrypt и паспортом, как это можно сделать? - PullRequest
0 голосов
/ 20 мая 2019

Я успешно создал страницу регистрации и пытаюсь перейти на страницу входа для уже созданных пользователей и хэширую. Я использую passport, localport и bcrypt, но получаю ошибку из своего кода и не могу указатьпроблема и что делать

Passport.js

const LocalStrategy = require('passport-local').Strategy;
const Sequelize = require("sequelize");
const bcrypt = require('bcrypt');


//Load User Model
const User = require('../src/model/User');

module.exports= function(passport){
     passport.use(
         new LocalStrategy({
             usernameField: 'email', passwordField: 'password'}, (email, password, done) =>{
                //match User
                User.findOne(
                    {
                        where:{ email: email}
                    }
                ).then(user => {
                    if(!user){
                        return done(null, false, {message: 'Email not Registered'});
                    }

                    //match password
                    bcrypt.compare(password, user.passport, (err, isMatch) => {
                        if(err)throw err;
                        if(isMatch)
                        {
                            return done(null, user);
                        }
                        else
                        {
                            return done(null, false, {message: 'Password Incorrect'});
                        }
                    });
                }).catch(err => console.log(err));
             })
     )
     passport.serializeUser((user, done) => {
        done(null, user.id);
      });

      passport.deserializeUser((id, done) => {
        User.findById(id, (err, user) => {
          done(err, user);
        });
      });
}

и это signin.js

var express = require('express');
var router = express.Router();
var passport = require('passport');

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('signin');
});
router.post('/', (req, res, next) => {
  passport.authenticate('local', {
    successRedirect: '/dashboard',
    failureRedirect: '/signin',
    failureFlash : true
  })(req, res ,next);
});
module.exports = router;

Пожалуйста, мне нужна ваша помощь

...