Este código es para un servidor NodeJS y se supone que debe mantener al usuario conectado mientras la sesión no está cerrada, pero la sesión se regenera en cada actualización, no sé por qué... Cuando reviso mi navegador, no puedo. No veo ninguna cookie.
Aquí está mi código:
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") })Lo siento si mi inglés no es perfecto.