@unituser

Как можно реализовать проверку залогинен ли пользователь Express.js?

Добрый день, получилась такая вот у меня проверка, но мне она совершенно не нравится, потому что эту проверку нужно указывать в каждом route. Можно ли как-то это целесообразно вынести в другой файл и подкорректировать. Делаю всё через модуль passport. Может можно как-то вывести это в passport serialize?

router.get('/', async(req, res) => {
    if (req.user !== undefined) {
        authenticate = true
    } else {
        authenticate = false
    }
    res.render('index', {
        titlePage: 'Asd',
        auth: authenticate,
        user: req.user
    })
})


passport.serializeUser(function(user, done) {
    done(null, user);
})

passport.deserializeUser(function(obj, done) {
    done(null, obj);
});


function ensureAuthenticated(req, res, next) {
    if (req.isAuthenticated()) { return next() }
    res.redirect('/')
    console.log('Для того, чтобы зайти в профиль авторизируйтесь')
}


Это можете не предлагать, как я понял, функция проверяет залогинен ли пользователь, но она предназначена, чтобы зайти на страницу, а мне нужно вывести элементы на сайте. Или я просто плохо понимаю и эту функцию можно использовать как проверку логин?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы