Toute l’actualité de votre écosystème AdonisJS.
Toutes les analyses
versionChangement incompatibleAction nécessaire

Session v8.2.0 : Sécurité renforcée des sessions avec requêtes simultanées et chiffrement des stores Redis/Database

· Impact sur votre code : élevé

La version 8.2.0 du package session d'AdonisJS améliore la robustesse face aux requêtes simultanées provenant du même navigateur, empêchant la résurrection de sessions terminées par des requêtes tardives. Des protections opt-in modifient le comportement visible, avec des options pour contrôler le rafraîchissement des cookies et le renouvellement des IDs de session. Les stores Redis et database supportent désormais le chiffrement des données de session. Plusieurs corrections de bugs améliorent l'atomicité et la cohérence des écritures et du marquage des sessions.

Ce que cela change pour votre code

Les développeurs utilisant @adonisjs/session bénéficient d'une gestion plus sûre des sessions en cas de requêtes concurrentes. Par défaut, le comportement existant est conservé, mais de nouvelles options comme `refreshCookie`, `renewMissingSessionId` et `encrypt` permettent d'activer des fonctionnalités de sécurité renforcées. Activer le chiffrement sur Redis ou database invalide les sessions existantes. Les sessions de test utilisent désormais le store configuré au lieu de la mémoire. Il est conseillé de revoir et éventuellement mettre à jour la configuration des sessions pour profiter de ces améliorations.

  • Examiner les nouvelles options de configuration de session : `refreshCookie`, `renewMissingSessionId` et `encrypt` pour les stores Redis/database.
  • Envisager d'activer `encrypt` sur les stores Redis ou database pour sécuriser les données de session, en notant que les sessions existantes seront invalidées.
  • Tester la gestion des sessions dans des scénarios de requêtes simultanées pour vérifier le comportement attendu.
  • Mettre à jour les tests si le comportement du store de session est utilisé, car les sessions de test japa utilisent désormais le store configuré.
  • Ajuster les paramètres liés aux cookies si `refreshCookie: false` est utilisé, en le combinant avec `clearWithBrowser` pour une expiration correcte des cookies.

Sources originales

Analyse générée par IA à partir des sources citées. Consultez la documentation originale avant de modifier votre application.

Veille indépendante. Les sources sont citées dans chaque analyse.Créé avec AdonisJS · Analyses assistées par IAPar Jérémy Chaufourier · chaufourier.fr