Задать вопрос
@hollanditkzn

Как в passport-local-mongoose при неправильном пароле выводить ошибку а не вывод страницы 401?

У меня такая проблема, что при воде неправильного пароля, то выводится страница с надписью Unauthorized. А нужно чтобы рендерилась та же страница с ошибко, то что имя пользователя или пароль не верны. Я немного пробовал, но так я не догнал куда что делать.
router.post('/', passport.authenticate('local'), (req, res) => {
if(status === 401) {
res.render('index', {message: 'Неверно логин или пароль'})
} else {
	res.redirect('/users');
}
});

Я просто новичок в node js примерно не знаю как выводить если статус будет 401 то другое действие будет
Ссылка на модуль passport-local-mongoose
Пробовал еще и так
router.post('/', passport.authenticate('local'), (req, res, err) => {
	if(err){
		res.render('index', {message: 'Неправильный логин или пароль'});
	} else {
		res.redirect('/users');
	}
});
  • Вопрос задан
  • 453 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
EShein
@EShein
Shein
Все в документации к модулю написано.
var User = mongoose.model('Users', UserSchema);

User.register({username:'username', active: false}, 'password', function(err, user) {
  if (err) { ... }

  var authenticate = User.authenticate();
  authenticate('username', 'password', function(err, result) {
    if (err) { ... }
    
  });
});

Вот тут вы обрабатываете регистрацию и авторизацию, если ошибка авторизации то что-то делайте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы