Всем доброго! Решил попробовать поигратся немного с авторизацией, с помощю сессий. Столкнулся с проблемой когда заканчивается срок жизни сессии cookie: {maxAge: new Date(Date.now() + (60 * 1000 * 1))} повторно засетить что то в req.session не получается :(
Вот кусок моего кода:
let session = require('express-session');
app.use(session({
secret: 'aaa2C44-4D44-WppQ38Siuyiuy',
cookie: {maxAge: new Date(Date.now() + (60 * 1000 * 1))},
resave: true,
saveUninitialized: true
}));
let checkSignIn = (req, res, next) => {
if (req.session.user) { // после истичения сессии req.session.user всегда undefined,
//несмотря на то что в
//логине я повторно задаю это
// свойство req.session.user = user['_id']
next();
} else {
res.redirect("/login");
}
}
app.post("/login", (req, res) => {
if(req.body.usr == user && req.body.pwd == password)
req.session.user = user['_id']
res.redirect("/manage");
} else {
console.log('Could not find user')
res.render('login')
}
})
})
app.get("/manage", checkSignIn, (req, res) => {
res.render('index')
})
В результате первый раз логин проходит удачно, но после того как сесия истечет, повторно залогинится не удается, почему то при проверке в кастомном миделвере checkSignIn req.session.user == undefined хотя в "/login" это свойство задается так же как и в первый раз req.session.user = user['_id']
Не понимаю почему так происходит. Подскажите пожалуйста как это исправить
Попробуйте после req.session.user = user['_id']
вызвать req.session.save()
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости