Totally unable to understand why cookie
and expires
aren't working. The user gets authorized and logs into the account. However, no matter what maxAge
or expires
I mention in the app.js, it always logs out the user after every few seconds (or a couple of minutes at the most). Webpages are SSL secure (HTTPS):
const express = require('express');
const app = express();
const session = require('express-session');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const connection = mysql.createConnection({
//connection details here
});
app.use(bodyParser.urlencoded({extended : false}));
app.use(bodyParser.json());
app.set('view engine', 'ejs');
app.use(session({
secret: 'secret code here',
expires: new Date(Date.now() + (60 * 24 * 7 * 1000))
}));
app.get('/login', function(req, res) {
res.render('pages/login');
});
app.post('/auth', function(request, response) {
var username = request.body.username;
var password = request.body.password;
if (username && password) {
connection.query(query here) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username.toString();
response.redirect('/account');
}
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});
// account page
app.get('/account', function(req, res) {
if (req.session.loggedin !== true) {
res.render('pages/login');
} else {
//account page redirection here
}
});
Using cookie-session instead of express-session and it works fine.