Per gestire le sessioni in Node.js, avrai bisogno di un middleware di sessione. Il più comune è `express-session`.
Ecco una semplice implementazione:
1. Prima di tutto, installa il modulo tramite npm.
```
npm install express-session
```
1. Poi, puoi utilizzare il middleware nella tua applicazione.
```
var express = require(‘express’);
var session = require(‘express-session’);
var app = express();
app.use(session({
secret: ‘your secret key’, // Una chiave segreta per la firma della sessione cookie. Può essere una stringa o un array di stringhe.
resave: false, // Forza la sessione a essere salvata di nuovo nel negozio di sessione. Solitamente impostato su false.
saveUninitialized: true, // Forza una sessione non inizializzata a essere salvata nel negozio di sessione. Solitamente impostato su true.
cookie: { secure: true } // Impostalo su true se vuoi che i cookie siano validi solo su HTTPS.
}))
app.get(‘/’, function(req, res, next) { if (req.session.views) { req.session.views++ res.setHeader(‘Content-Type’, ‘text/html’) res.write(’
views: ‘ + req.session.views + ‘
’) res.end() } else { req.session.views = 1 res.end(‘Welcome to the session demo. Refresh!’) }app.listen(3000);
```
Nel codice di cui sopra, ogni volta che fai refresh alla pagina, il contatore di visualizzazioni aumenterà. Questo perché memorizziamo il numero di visualizzazioni in `req.session.views`. Il modulo di sessione ha accesso alle richieste e può quindi salvare i dati su di essi. Puoi anche impostare altre proprietà sulla sessione.
Ricorda che i dati della sessione non sono salvati in modo permanente, e che vengono eliminati quando la sessione termina, tipicamente quando l’utente chiude il browser. Se ti serve una persistenza più duratura, dovrai utilizzare un negozio di sessione, come `connect-mongodb-session`, `connect-redis`, ecc.