У меня есть следующий профиль в моей базе данных mongodb, и ключ не найден моим приложением. js для отображения следующего экрана e js. Я не получаю ошибку, вместо этого ничего не происходит. Я отображаю следующий экран в коде main.e js, но я остаюсь на странице входа.
{
"_id" : ObjectId("5eab33dd008585722a7b1dd8"),
"key" : "123",
"__v" : 0
}
Строка от login.e js, которая получает ключ
<div class="form-group">
<input name="key" type="password" class="form-control form-control-user" id="key" placeholder="Enter Key">
</div>
Приложение. js
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(expressSession({
secret: "secret"
}));
app.use(passport.initialize());
app.use(passport.session())
passport.use(new LocalStrategy({
usernameField: "key",
// passwordField: "password"
},function(key, next) {
//},function(email, password, next) {
User.findOne({
key: key
},function (err, user) {
if (err) return next (err);
if (!user){
// if (!user | !bcrypt.compareSync(key, user.key)){
return next({message: 'Key is incorrect'})
}
next(null, user);
})
}));
passport.serializeUser(function (user, next) {
next(null, user._id);
});
passport.deserializeUser(function (id, next) {
User.findById(id, function(err, user){
next(err, user);
});
});
app.get('/',function(req, res, next){
res.render('index', {title: "Hello World"})
})
app.get('/main',function(req, res, next){
res.render('main')
})
app.get('/login',function(req, res, next){
res.render('login')
})
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/main');
});
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;