Saltar al contenido principal

Contrato de autenticación de Driver App

La autenticación de Driver App combina ramas de credenciales configuradas, autenticación del servidor, control del rol Driver y persistencia de sesión local. Trata esas decisiones por separado: una respuesta correcta a las credenciales no constituye automáticamente una sesión Driver válida, y restaurar el estado local de sesión no equivale a autorización reciente del servidor.

El servicio de autenticación y proveedor configurados determinan si una solicitud de inicio de sesión tiene éxito. La app aún debe aplicar el rol Driver y autorizar cada solicitud posterior a la API.

Disponibilidad​

La pantalla Login habilita la presentación de contraseña para correo electrónico y teléfono celular, y pasa el rol Driver como rol permitido en el inicio de sesión estándar. La configuración del proyecto también puede exponer OTP, código de dispositivo, proveedores específicos, CAPTCHA u otras ramas alternativas. Las ramas alternativas no repiten todas el mismo control de rol Driver y no deben considerarse equivalentes sin una validación específica.

La navegación sin sesión registra Home, Login y Forgot. No registra el alta de Driver ni asigna rutas a enlaces profundos entrantes.

Requisitos previos​

  • Compilación configurada de Driver App y flujo de cuenta Driver compatible.
  • Configuración de autenticación actual para la rama prevista.
  • Aplicación explícita del rol Driver en todas las ramas que puedan crear estado local de sesión.
  • Gestión segura de credenciales, valores OTP, resultados de proveedores, tokens, identidad de notificaciones y datos de cuenta guardados localmente.
  • Autorización independiente del servidor en cada solicitud posterior a la autenticación.

Límites de responsabilidad​

LímiteResponsabilidadLímite
Interfaz LoginMostrar controles configurados de credenciales/OTP/proveedor y estados locales de validación/carga/error.La visibilidad no demuestra la disponibilidad del proveedor o servidor.
Controlador de autenticaciónConstruir el formato seleccionado de credenciales, llamar al endpoint correspondiente e interpretar la respuesta.Las ramas pueden diferir en controles de rol y limpieza.
Control del rol DriverAdmitir solo el rol Driver en la ruta estándar de sesión local.Las ramas alternativas pueden aplicar controles distintos.
Limpieza tras rechazo de rolSolicitar cierre de sesión del servidor para una sesión devuelta de otra función antes de mostrar un error de permiso.El cierre/limpieza puede fallar o resolverse parcialmente.
Proveedor de sesiónGuardar/quitar token local, usuario y estado opcional del dispositivo; exponer autenticación/carga.El almacenamiento local no valida ni revoca en el servidor.
Navegación RootElegir la rama con/sin sesión según el estado local de sesión/disponibilidad.Navegar no autoriza una tarea.
APIAutenticar credenciales y autorizar cada lectura/mutación posterior.Comprueba el comportamiento de la API en el entorno de la app.
OTP/CAPTCHA/proveedorControlar generación, verificación, desafíos y resultados externos.Completar con el proveedor no demuestra el rol Driver.

Entradas y resultados​

Entrada/ramaResultado del clienteComprobación requeridaLímite de fallo/parcial
Correo/celular + contraseñaRespuesta de autenticación estándarRol Driver antes del inicio de sesión localError, función incorrecta, fallo de limpieza o falta de sesión
OTPResultado de credencial de un solo uso generada/verificadaRepetir la política del rol Driver y de sesiónAlgunas rutas de verificación pueden fijar la sesión local sin el control de rol estándar
Código de dispositivoCredencial de código de dispositivo y persistencia local opcionalRol Driver, propiedad del dispositivo y revocaciónLa interfaz expone capacidades distintas a las del controlador
Inicio de sesión específico del proveedorResultado del proveedor/servidorRol Driver e identidad del proveedorNo se han demostrado disponibilidad ni paridad del control de rol
CAPTCHAValor del desafío añadido antes de la solicitud seleccionadaValidez del desafío y resultado del proveedorUna configuración ausente/incompleta puede bloquear o alterar otra rama
Identidad de notificaciónToken/datos opcionales de la aplicación incluidos durante la autenticaciónPropiedad y privacidad de notificaciónIniciar sesión correctamente no demuestra registro/entrega push
Restauración de sesión localToken/usuario/dispositivo guardados devueltos a proveedoresVolver a autorizar cada solicitud de APIUn estado obsoleto/deshabilitado/de función incorrecta puede persistir hasta controles posteriores
Flujo ForgotEl formulario local puede mostrar un estado de enlace enviado antes de que se resuelva la solicitudObservar por separado el éxito/error finalLa transición de interfaz no demuestra entrega ni finalización del restablecimiento

Seguridad y privacidad​

  • Nunca registres ni expongas credenciales, OTP, valores CAPTCHA, tokens, ID de proveedores, identidad de notificaciones, registros de cuentas ni códigos de dispositivo.
  • Aplica el control de rol Driver antes de que cada rama escriba el estado local de sesión.
  • Trata por separado el cierre tras rechazo de rol, limpieza del proveedor, revocación de token y limpieza local.
  • No compartas tokens ni uses el estado guardado como confirmación de autorización actual.
  • Borra el estado de la cuenta anterior y de solicitudes tardías antes de admitir otra cuenta.

Límites y estados de fallo​

EstadoSignificadoRespuesta de mantenimiento
Rama configurada ocultaLa interfaz/configuración no la admite.No expongas una capacidad que solo existe en el controlador.
Error de autenticaciónEl contrato del servidor/proveedor elegido devolvió o produjo un fallo.Mantén la sesión cerrada y muestra un error saneado.
Función incorrectaLa rama estándar rechazó la cuenta devuelta.Exige la limpieza completa del servidor/cliente; no navegues con sesión.
La rama alternativa parece correctaOTP/proveedor devolvió una cuenta/sesión.Verifica la paridad del rol Driver antes de iniciar sesión localmente.
Sesión local restauradaHay datos guardados disponibles.Vuelve a autorizar cada lectura/acción; no la llames sesión reciente.
Usuario local deshabilitado/ausenteLa comprobación de coherencia de sesión puede solicitar el cierre de sesión local.El estado y limpieza del servidor son independientes.
Estado de enlace de restablecimiento enviadoLa interfaz local de recuperación avanzó.Espera la solicitud/resultado real; no afirmes que llegó el correo.

Diagnóstico​

SíntomaInspeccionarDiagnóstico seguro
Falta la opción de inicio de sesión previstaConfiguración actual y exposición en la interfazNo invoques una rama que solo tenga el controlador.
Parece aceptarse una cuenta que no es DriverAplicación del rol por rama y escritura de sesión localDetén el trabajo autenticado y sigue el procedimiento seguro de limpieza/escalación.
Aparece un error de función incorrecta, pero el estado no está claroResultados por separado del cierre de sesión del servidor, sesión local y navegaciónNo reutilices tokens devueltos ni fuerces la navegación.
La App se abre con sesión a partir de datos guardadosHidratación de sesión y autorización en cada solicitudConsidera provisional el estado guardado hasta que las solicitudes actuales autoricen.
La recuperación dice que se envió un enlace demasiado prontoTransición local frente a resolución de la solicitudEspera el éxito/error final; no repitas ni afirmes que se entregó.

Vuelve a revisar este contrato cuando cambien una rama de inicio de sesión, control de rol, CAPTCHA/proveedor, identidad de notificación, almacenamiento de sesión, limpieza tras rechazo de rol, estado de recuperación o selección de autenticación Root.

Guías relacionadas: Abrir Driver App e iniciar sesión · Iniciar sesión como conductor · Opciones de inicio de sesión · Restablecer una contraseña · Inicio autenticado