Не удается получить любой вид после проверки подлинности паспорта - PullRequest
0 голосов
/ 06 ноября 2019

Я создаю приложение с использованием node.js и express.js с паспортной аутентификацией с использованием MVC Architecture. Я строго следовал учебному пособию о том, как реализовать и интегрировать паспортную аутентификацию с использованием локальной стратегии. Похоже, стратегия работает нормально. В моем контроллере, который обрабатывает аутентификацию (используя passport.authenticate), successRedirect всегда выполняется, учитывая, что я отправляю совпадающие данные с экземпляром в базе данных. Однако после перенаправления туда, куда указывает successRedirect, я получаю ошибку 500 запроса GET. После этого, если я пытаюсь получить доступ к другим маршрутам, я по-прежнему получаю ту же ошибку, поэтому не могу отобразить нужный шаблон представления. Однако, если я пытаюсь получить доступ к тем же маршрутам без попытки входа в систему, запрос GET успешно выполняется с помощью statusCode 200.

Я получаю точную ошибку: GET / dashboard 500 4,313 мс - 941

users.js route

var usersController = require('../../controllers/usersController');

/* POST login */
router.post('/login', usersController.loginAccount);

usersController.js


module.exports.loginAccount = function (req, res, next) {
    passport.authenticate('local', {
        successRedirect: 'dashboard',
        failureRedirect: '/users/login',
        failureFlash: true
    }) (req, res, next);
}

index.js route

router.get('/dashboard', ensureAuthenticated, indexController.dashboardPage);

function ensureAuthenticated(req, res, next) {
    if (req.isAuthenticated())
        return next();
    else{
        req.flash('error_msg', 'Please log in to view this resource');
        res.redirect('/users/login');
    }
}

Командная строка после попытки входа в систему: Выполнение (по умолчанию):ВЫБРАТЬ id, firstname, lastname, email, username, password, address, createdAt, updatedAt ОТ clients КАК client ГДЕ client. username = 'nikolaisennn' LIMIT 1;Сериализация пользователяPOST / пользователи / логин 302 144,266 мс - 74Десериализация пользователяИД пользователя: 65GET / приборная панель 500 4,313 мс - 941

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...