сеанс истекает не в ожидаемое время в файле node.js - PullRequest
0 голосов
/ 10 сентября 2018

Я довольно новичок в Node.js и Express-session.Я создал систему входа в систему / регистрации, всякий раз, когда пользователь входит в систему, перенаправляется на страницу с именем scoreboard.

Проблема : сессия заканчивается очень скоро, а не значение, которое я установил.Я не знаю, как это исправить?

server.js

var session = require('express-session');
app.use(session({
    secret: "ILoveMostafa",
    resave: false,
    saveUninitialized: false,
    cookie: {
    expires: new Date(Date.now() + 43200)
    }
}))

user.js

router.post('/login', (req, res) => {
    var email = req.body.email;
    var password = req.body.password;
    userModel.authenticate(email, password, (err, user) => {
        if (err) {
            console.log(err)
        }
        else if (!user) {
            console.log('Wrong Password')
        }
        else {
            req.session.userId = user._id;
            res.redirect('/user/scoreboard')
        }
    })
});

router.get('/scoreboard',async (req, res) => {
    console.log(req.session.userId)
    if (req.session.userId) {
        const teams = await userModel.find({}).sort('-score')
        const faculties = await userModel.aggregate([{
            "$group": {
                _id: "$faculty",
                average: {
                    $avg: "$score"
                }
            }
        }]).sort("-average")
        res.render('main/scoreboard', {
            teamInformation: teams,
            finalResult: faculties
        })
    }
    else {
        res.redirect('/')
    }
});

Примерно через 2 минуты, когда я обновляю страницу,Я перенаправлен на страницу входа!

1 Ответ

0 голосов
/ 10 сентября 2018

Дата и время измеряются в миллисекундах.

expires: new Date(Date.now() + 43200) устанавливает время истечения на 43,2 секунды позже текущего времени.

...