Réauthentification
Lorsqu'une session authentifiée expire, l'utilisateur doit pouvoir continuer sans perdre les données déjà saisies. La session se termine, mais le travail en cours ne disparaît pas.
Ce que le critère demande
Si une session authentifiée expire en cours de tâche, l’utilisateur doit pouvoir se réauthentifier et reprendre l’activité sans perdre les données saisies. Les champs de formulaire restent remplis, le panier d’achat reste plein, le commentaire à moitié rédigé reste en brouillon.
Comment le satisfaire
- Sauvegardez l’état du formulaire sur le serveur (ou dans le stockage local avec une invite de récupération) à chaque modification significative, pas seulement à la soumission.
- Lorsqu’une session expire, renvoyez un 401 à l’appel API mais conservez l’utilisateur sur la même page ; affichez une invite de connexion dans la page plutôt qu’une redirection complète.
- Après une réauthentification réussie, rejouez l’action originale avec le contenu original. L’utilisateur doit vivre l’expérience comme si aucune interruption ne s’était produite.
- Pour les flux multi-étapes, suivez la progression côté serveur associée au compte utilisateur, et non au jeton de session.
Échecs courants
- Les flux de virement bancaire où l’expiration de session renvoie l’utilisateur à l’écran de connexion et où le formulaire de virement partiellement rempli a disparu.
- Les systèmes de commentaires où une longue réponse est perdue lors d’une redirection de réauthentification — courant sur Reddit, les sites d’actualité et les forums.
- Les formulaires administratifs multi-étapes qui perdent toutes les données saisies à l’expiration de la session, obligeant à recommencer depuis la première page.
- Les flux de paiement où le panier survit mais où les coordonnées de livraison et de paiement doivent être ressaisies.
Pourquoi c’est important
Ce critère est une question de respect du travail de l’utilisateur. Ressaisir un long formulaire est contraignant pour n’importe quel utilisateur ; pour quelqu’un utilisant un lecteur d’écran, une commande vocale ou un dispositif de commutation, cela peut représenter vingt à quarante minutes de travail supplémentaires — et c’est souvent la raison pour laquelle il abandonne. La plupart des sites commerciaux ne sont pas encore conformes, mais les applications de productivité cloud (Google Docs, Office 365, les banques modernes) ont largement résolu ce problème grâce à la sauvegarde automatique et à la réauthentification en arrière-plan.