Saltar al contenido principal

Usa el contrato de sesión revisado

La gestión de sesiones de Driver App tiene dos flujos relacionados, pero distintos:

  • Sessions muestra y elimina sesiones actuales u otras sesiones de la cuenta cuando esta usa la estrategia multisesión.
  • logout comprueba los pedidos activos, solicita el cierre de sesión del servidor y coordina la limpieza local de sesión, pedidos y almacenamiento.

Ningún flujo es atómico. Una lista visible, éxito de API principal, cambio de autenticación local o pantalla de cierre de sesión no demuestra que se haya completado la limpieza de token, push, disponibilidad, registros, trabajos, socket, proveedor o almacenamiento.

Disponibilidad​

La ruta Sessions está registrada en la navegación autenticada y se abre desde Profile. Las cuentas que usan la estrategia multisesión pueden cargar filas de sesión con fecha e indicadores de sesión actual. Con otros estados de estrategia aparece un control de activación en vez de una lista.

Requisitos previos​

  • Ámbito propio autenticado y estado actual de estrategia de sesión.
  • Distinción explícita entre todas las sesiones, la actual y las demás.
  • Confirmación destructiva para la eliminación individual y masiva.
  • Plan completo de limpieza local/servidor/proveedor si se elimina la sesión actual.
  • Control de pedidos activos y recuperación a cargo de la persona responsable del pedido antes de cerrar sesión.
  • Usa solo ID/fechas/tokens de sesión sintéticos en pruebas y documentación.

Límites de responsabilidad​

LímiteResponsabilidadLímite
Interfaz SessionsMostrar carga/lista/vacío/activación, indicador de sesión actual y confirmaciones.El orden de presentación no es el orden/vigencia del servidor.
Controlador SessionsListar sesiones, ordenarlas opcionalmente, eliminar una/todas/las demás y actualizar la lista local.La respuesta principal y los efectos de sesión local pueden divergir.
Eliminación de sesión actualEliminar la fila en el servidor y luego solicitar el cierre de sesión local.El manejador revisado no espera el cierre local.
Eliminación de otra sesiónQuitar la fila devuelta de la lista local tras el éxito principal.No se demuestra limpieza remota del dispositivo/token/proveedor.
Eliminación masivaEliminar la actual y todas, o conservar la actual según entrada explícita.La confirmación se cierra antes de que termine el manejador asíncrono.
Ruta de activaciónReutilizar el contrato masivo conservando la actual y luego cambiar localmente los metadatos de estrategia.El botón o metadatos locales no demuestran activación.
Cierre de sesiónLectura del cliente de pedidos activos, cierre de sesión de API y limpieza local de sesión/pedidos/almacenamiento.Fallos del control y limpieza pueden resolverse parcialmente.
APIAplicar acceso propio/admin a sesiones y controles del servidor para cierre de sesión/pedidos.No se ha confirmado la relación con el artefacto en ejecución.

Entradas y resultados​

Entrada/acciónResultado del clienteLímite de fallo/parcial
Estrategia multisesiónSolicitud autenticada de lista y orden por fecha opcional.La App no especifica un orden; la interfaz invierte el arreglo durante el render y muta el orden de presentación.
Estrategia heredada/sin listaLista local vacía y mensaje/control de activación.La solicitud/resultado de activación y el cambio local de estrategia son independientes.
Eliminar otra sesiónConfirmación, eliminación de API y retirada local de la fila.No se demuestra limpieza de sesión/proveedor remoto.
Eliminar sesión actualEliminar en API, quitar fila y solicitar cierre de sesión local.No se espera el cierre; puede haber carreras de navegación/almacenamiento.
Eliminar todas las sesionesEliminación masiva por API, lista vacía y solicitud de cierre de sesión local.La limpieza por sesión/proveedor y estado local son independientes.
Eliminar todas excepto la actualEliminación masiva por API y conservar localmente las filas actuales.No se demuestra limpieza de sesiones remotas; la activación puede reutilizar metadatos del token actual.
logoutControl de pedidos activos seguido por limpieza local/en servidor.Una excepción del control puede permitir continuar; no se espera el borrado general del almacenamiento.

Seguridad y privacidad​

  • Nunca expongas ID de sesión, tokens, ID de socket, datos del dispositivo ni marcas de tiempo exactas en artefactos públicos.
  • Exige autorización propio/admin para cada operación de lista/eliminación.
  • Trata la eliminación de sesión actual y el cierre de sesión como flujos destructivos sensibles a la seguridad, con recibos completos y reversión/recuperación.
  • Vincula las respuestas tardías de lista/eliminación/cierre a la generación actual de cuenta/sesión.
  • No deduzcas que se cerró una sesión remota porque desapareció una fila local.

Límites y estados de fallo​

EstadoSignificadoRespuesta de mantenimiento
Cargando/errorLa lista/acción de sesiones no se ha resuelto.No repetir ni ejecutar una acción destructiva.
Lista vacíaLa respuesta actual no contiene sesiones que se puedan mostrar.No demuestra que no exista una sesión/token remoto.
Indicador actualLa fila de API está marcada como actual.Verifica generación de servidor/sesión antes de eliminar.
Fila retirada localmenteLa eliminación principal informó éxito.No se demuestra limpieza remota de proveedor/token.
Interfaz sin sesiónCambió la autenticación local.No se demuestra limpieza de servidor/almacenamiento/push/socket.
Cambia el ordenLa interfaz invirtió/modificó la lista durante el render.No uses el orden como evidencia de seguridad/vigencia.
Estado que parece activadoLa estrategia local cambió tras la respuesta principal.No se demuestran la función del servidor ni la semántica de la sesión actual.
Error del control de cierreFalló la comprobación de pedidos activos.Puede continuar ambiguamente; detente y concilia.

Diagnóstico​

Usa sesiones sintéticas y adaptadores interceptados de API/sesión/pedido/almacenamiento/socket/proveedor. Nunca elimines una sesión real ni cierres sesión para probar. Diagnostica por separado resultado de lista, orden/presentación, eliminación principal, cambio de sesión local, limpieza de almacenamiento y limpieza de proveedor/token.

Vuelve a revisar cuando cambien la estrategia de sesión, orden de lista, indicador de sesión actual, eliminación individual/masiva, activación, control de pedidos activos, cierre de sesión, almacenamiento local o limpieza del proveedor.

Guías relacionadas: Gestionar sesiones · Cerrar sesión · Eliminar cuenta · Inicio autenticado · Contrato de notificaciones · Acciones sin conexión