Les sessions en Express.js fournissent un moyen de stocker des informations spécifiques à une session utilisateur sur le serveur. Ces informations peuvent être utilisées pour personnaliser l’interaction de l’utilisateur avec le site web à travers plusieurs requêtes. Voici quelques étapes sur la façon de travailler avec les sessions en utilisant Express.js :
1. Installation de la bibliothèque de session :
Pour utiliser les sessions, vous devez tout d’abord installer la bibliothèque de session Express.js appelée express-session.
```
npm install express-session
```,
2. Inclusion et configuration de la session :
Vous devez ensuite inclure et configurer la bibliothèque express-session dans votre application.
```javascript
const session = require(‘express-session’);
app.use(session({
secret: ‘my secret key’,
resave: false,
saveUninitialized: false
}));
```
- `secret` est une clé secrète utilisée pour signer la session ID cookie.
- `resave` ré-enregistre la session dans le store, même si la requête n’est pas modifiée.
- `saveUninitialized` stocke les sessions non initialisées sur le store.
1. Utilisation des sessions :
Vous pouvez maintenant commencer à stocker les informations de session en attachant des propriétés à l’objet `req.session`.
```
app.get(‘/’, (req, res) => {
req.session.visits = req.session.visits ? req.session.visits + 1 : 1;
res.send(`Nombre de visite(s) : ${req.session.visits}`);
});
```
Dans cet exemple, l’objet session contient une propriété `visits`, qui est mise à jour à chaque fois que la route ‘/’ est visitée par un utilisateur.
1. Destruction de la session :
Pour détruire une session, vous pouvez utiliser la méthode `req.session.destroy`.
```
req.session.destroy(function(err) {
// Session est détruite
});
```
Cette approche de l’utilisation des sessions est appropriée pour les applications simples. Pour des applications plus complexes, vous pouvez envisager d’utiliser un store de session plus robuste, tel que connect-redis ou session-file-store.