Express.js non supporta nativamente la gestione delle sessioni, ma ci sono varie librerie di terze parti che puoi integrare con Express per gestire le sessioni. Un esempio popolare è il modulo `express-session`.
Per utilizzare `express-session`, devi prima installarlo utilizzando npm:
```
npm install express-session
```
Dopo averlo installato, puoi configurarlo nel tuo app.
Ecco un esempio di base su come puoi utilizzare `express-session`:
```
const express = require(‘express’);
const session = require(‘express-session’);
const app = express();
app.use(session({
secret: ‘your secret key’, // una chiave segreta utilizzata per la firma della session ID cookie.
resave: false, // forza la sessione a essere salvata indietro nel session store
saveUninitialized: true, // forza una sessione che è “non inizializzato” ad essere salvato nel store.
cookie: {
secure: true, // assicura che il browser invii il cookie solo su HTTPS
maxAge: 60000 // definisce il tempo di vita del cookie
}
}));
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);
```
Ogni volta che l’utente visita la pagina, il conteggio delle visualizzazioni viene incrementato. Questa è una funzionalità molto semplice, ma mostra come puoi utilizzare le sessioni con Express.js. Puoi utilizzare le sessioni per memorizzare e recuperare vari tipi di dati sull’utente, come preferenze, dati del carrello, brani riprodotti di recente, ecc.
Ricorda di migrare il session store da un MemoryStore a un ambiente più persistente quando l’app è in produzione. MemoryStore è progettato per lo sviluppo e le sessioni verranno cancellate quando il processo sarà riavviato. Ci sono vari store di sessione tra cui scegliere come `connect-redis`, `connect-mongo`, ecc.