Авторизация express-localStrategy-mysql
Вот уже сутки ковыряюсь с паспортом и стратегиями для своего сервера. Изначально для проверки связи между формой авторизации у меня была простая функция
app.post('/login', function (req, res, next) { var query = 'SELECT * FROM users WHERE mail="' + req.body.login + '" AND password="' + req.body.password + '"'; req.db.query(query, function(err, rows, fields) { if (err) res.render('login', {err: 'DB error: ' + err}); log.info(query); res.render('login', {authErr: rows.length}); } ); }); которая возвращала объект, а на клиенте я выводил его длину (rows.length), что бы временами проверять не начудачил ли я чего. (в серверной разработке я новичок) затем нашел вот такой вот пример на https://github.com/manjeshpv/node-ex...passport-mysql вобщем сейчас моя форма авторизации выглядит так app.post('/login', passport.authenticate('local-login', { successRedirect : '/profile', // redirect to the secure profile section failureRedirect : '/login', // redirect back to the signup page if there is an error failureFlash : true // allow flash messages })); где local-login passport.use( 'local-login', new LocalStrategy({ // by default, local strategy uses username and password, we will override with email usernameField : 'username', passwordField : 'password', passReqToCallback : true // allows us to pass back the entire request to the callback }, function(req, username, password, done) { // callback with email and password from our form db.query("SELECT * FROM users WHERE username = ?",[username], function(err, rows){ if (err) return done(err); if (!rows.length) { return done(null, false, req.flash('loginMessage', 'No user found.')); // req.flash is the way to set flashdata using connect-flash } // if the user is found but the password is wrong if (!bcrypt.compareSync(password, rows[0].password)) return done(null, false, req.flash('loginMessage', 'Oops! Wrong password.')); // create the loginMessage and save it to session as flashdata // all is well, return successful user return done(null, rows[0]); }); }) ); Проблема в том, что при нажатии кнопки ВХОД происходит только перезагрузка страницы, подозреваю, что вот этот редирект: failureRedirect : '/login' Отловить место, где происходит потеря данных или ошибка у меня не выходит. Подскажите что делать. Если нужно еще какую информацию, я предоставлю. Консоль выводит следующее: Код:
8 May 10:37:53 - [nodemon] starting `node app.js` |
Часовой пояс GMT +3, время: 21:04. |