Nueva autenticación
Cuando expira una sesión autenticada, el usuario debe poder continuar sin perder los datos que ya había introducido. La sesión concluye, pero el trabajo en curso no.
Qué exige este criterio
Si una sesión autenticada expira en mitad de una tarea, el usuario debe poder volver a autenticarse y retomar la actividad sin perder los datos que había introducido. Los campos del formulario permanecen rellenos, el carrito de compra sigue lleno, el comentario a medio redactar continúa como borrador.
Cómo cumplirlo
- Persistir el estado del formulario en el servidor (o en el almacenamiento local con un aviso de recuperación) ante cada cambio significativo, no solo al enviar.
- Cuando la sesión expire, devolver un 401 a la llamada de API pero mantener al usuario en la misma página; mostrar un mensaje de inicio de sesión en la propia página en lugar de una redirección completa.
- Tras una autenticación correcta, reenviar la acción original con la carga útil original. El usuario debe percibir la experiencia como si no hubiera habido ninguna interrupción.
- En los flujos de varios pasos, hacer seguimiento del progreso en el servidor vinculado a la cuenta del usuario, no al token de sesión.
Fallos habituales
- Flujos de transferencia bancaria donde la expiración de la sesión devuelve al usuario a la pantalla de inicio de sesión y el formulario de transferencia parcialmente cumplimentado desaparece.
- Sistemas de comentarios en los que una respuesta larga se pierde al redirigir para reautenticación — habitual en Reddit, sitios de noticias y foros.
- Formularios de organismos públicos de varios pasos que pierden todos los datos introducidos al expirar la sesión, obligando a comenzar desde la primera página.
- Flujos de pago en los que el carrito sobrevive, pero los datos de envío y pago deben introducirse de nuevo.
Por qué es importante
Este criterio tiene que ver con respetar el esfuerzo del usuario. Volver a rellenar un formulario largo es molesto para cualquier persona; para quien utiliza un lector de pantalla, control por voz o un dispositivo de conmutación, puede suponer entre veinte y cuarenta minutos adicionales de trabajo, y suele ser la razón por la que abandona. La mayoría de los sitios comerciales todavía no cumplen este criterio, pero las aplicaciones de productividad en la nube (Google Docs, Office 365, la banca moderna) lo han resuelto en gran medida mediante el guardado automático combinado con la reautenticación en segundo plano.