Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
Obtenga un identificador de usuario único, que no cambia incluso al actualizar la página

¿Hay algún truco para obtener un identificador de usuario único, que no cambie, cuando el usuario actualiza el navegador? Probé socket.io y sessionID de express, pero cambian cuando el usuario actualiza el navegador.

¿Por qué? Estoy tratando de crear un juego sin necesidad de iniciar sesión. La clase Usuario creará un lobby con amigos y luego iniciará el juego, que estará bloqueado para cualquier otro usuario, pero quiero hacer la característica, que si el el usuario que ya comenzó/se unió a cualquier juego actualizará el navegador, se volverá a conectar a su juego.

Ya configuré la base de datos que está lista para el identificador de usuario único, por lo que el lobby/juego sabrá quién estará autorizado para unirse y quién no.

Código de cómo se configuran mis sesiones:

 const sessions = require('express-session'); ... app.use(sessions({ secret: "thisismysecretkey", saveUninitialized: true, resave: false })); ... app.post("/lobby/:id", (req, res) => { console.log(req.sessionID) });

Con esta configuración, el ID de sesión cambia constantemente cuando las solicitudes son del mismo usuario.

PD Sí, el código secreto no es seguro, lo cambiaré después de hacerlo funcionar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Descubrí por qué mi ID de sesión cambiaba con cada solicitud. Fue porque no estaba guardando nada en la sesión (porque solo estaba imprimiendo el ID de la sesión, preguntándome si cambiaría) , por lo que la sesión se eliminó y, en una nueva solicitud, se creó la nueva sesión, etc. Debería haber leído más documentación. en sesiones express.

De todos modos, si alguien se preguntaba cómo guardar algo en la sesión, aquí hay un ejemplo simple que cuenta cuántas veces visitó el sitio web.

 app.get("/test", function (req, res) { console.log(req.sessionID, req.session); if (req.session.page_views) { req.session.page_views++; res.send("You visited this page " + req.session.page_views + " times"); } else { req.session.page_views = 1; res.send("Welcome to this page for the first time!"); } });

Y si su ID de sesión todavía está cambiando, verifique la configuración de su sesión (esta funciona)

 app.use( session({ secret: "thisismysecretkey", saveUninitialized: true, resave: true, cookie: { secure: false, }, }) );
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda