Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
Why the express-session is regenerating/renewing on every request

This code is for a NodeJS server, and is supposed to keep the user connected while the session is not closed, but the session is regenerating on every refresh, I don't know why... When I check my browser, I can't see any cookie.

Here is my code :

const express = require("express")
const app = express()
const fs = require("fs")
const session = require("express-session")
const mysql = require("mysql")
var MySqlStore = require('express-mysql-session')(session)

const options = {
    key: fs.readFileSync('/etc/letsencrypt/live/mydomain/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/mydomain/fullchain.pem')
};

const server = require("https").createServer(options, app)

const db_store = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "password",
    database: "session_storage",
    port: '/var/run/mysqld/mysqld.sock'
})

db_store.connect(function(err) {
    if (err) throw err;
    console.log("Connected to \"session_storage\"")
})

var store = new MySqlStore({}, db_store)

app.set("views", "./views")
app.set("view engine", "ejs")
app.set('trust proxy', 1)

var sessionMiddleware = session({
    key: 'session-key',
    secret: "sercret-password",
    store: store,
    name: "session-name",
    saveUninitialized: false,
    resave: false,
    cookie: {
      sameSite: false,
      secure: true,
      httpOnly: true
    }
});
app.use(sessionMiddleware);
app.use(cors({origin: "mydomain.com", methods: ["POST", "PUT", "GET", "OPTIONS", "HEAD"], credentials: true}));

// This test is supposed to print "undefined" for the first request and then "test"
app.get("/", (req, res) => {
    res.status(200).render("index") 
    console.log(req.session.test)
    req.session.test = "test"
    req.session.save()
});

server.listen(443, () => {
    console.log("Server now listening on port 443")
})

Sorry if my english is not perfect.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!