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

238
Views
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 answers
Answer question

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 Report
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!