У меня небольшая проблема с моим логином по паспорту. Я пытаюсь войти с учетными данными из моего mongoDB, но всякий раз, когда я пытаюсь войти, он загружается только и ничего больше. Поскольку ошибок нет, я не совсем уверен, что это за катализатор. может я ошибся? вот код:
user.js:
const express = require('express')
const router = express.Router();
const User = require('../models/User')
const bcrypt = require('bcryptjs')
const passport = require('passport')
router.get('/login', (req,res) => {
res.render('login')
})
router.post('/login',(req, res, next)=>{
passport.authenticate('local', {
successRedirect: '/dashboard',
failureRedirect: '/users/login',
failureFlash: true
})(req, res, next);
})
module.exports= router;
passport.js
const LocalStrategy = require('passport-local').Strategy;
const mongoose = require('mongoose');
const bcrypt = require('bcryptjs')
//This is where logging in is handled
//Load User Model
const User = require('../models/User')
module.exports = function(passport){
passport.use(
new LocalStrategy({ usernameField:'email'},()=> (email, password, done) =>{
//Match user
User.findOne({
email:email
}).then(user => {
if(!user){
return done(null, false, { message: 'That email is not registerd'})
}
// match password input with findone password
bcrypt.compare(password, user.password, (err, isMatch) => {
if(err) throw err;
if(isMatch){
return done(null, user);
}else{
return done(null, false, { message: 'Password incorrect'})
}
})
})
})
)
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
};