API y software
Diagramas de flujo de registro e inicio de sesión
Los flujos de autenticación parecen sencillos en el camino feliz y se complican en las ramas: correo ya registrado, cuenta sin verificar, contraseña incorrecta, bloqueos, doble factor y recuperación de contraseña. Un diagrama por flujo hace explícitas esas ramas y las decisiones de seguridad que hay detrás.
Registro
- El visitante envía el formulario (correo y contraseña).
- Decisión: ¿los datos son válidos (formato, reglas de contraseña)? No → mostrar los errores.
- Decisión: ¿el correo ya está registrado? Decide qué revelas: muchos servicios muestran un mensaje neutro («Revisa tu bandeja de entrada») para que el registro no sirva para averiguar quién tiene cuenta.
- El sistema crea la cuenta sin verificar y envía un correo de verificación.
- Espera: el usuario pulsa el enlace. Tiempo agotado → enviar un recordatorio o dejar que caduque el enlace.
- El usuario verifica → cuenta activa → fin.
Inicio de sesión
- El usuario introduce correo y contraseña.
- Decisión: ¿credenciales correctas? No → aumentar el contador de fallos.
- Decisión: ¿demasiados fallos? Sí → bloquear o ralentizar los siguientes intentos y avisar al usuario.
- Decisión: ¿tiene activado el doble factor? Sí → pedir el código → ¿es válido? No → volver a pedir el código, con su propio límite de intentos.
- Decisión: ¿la cuenta está verificada? No → ofrecer reenviar el correo de verificación.
- Crear la sesión → fin.
Recuperación de contraseña
- El usuario pide restablecer la contraseña con su correo.
- El sistema responde con el mismo mensaje neutro exista o no la cuenta.
- Si existe, envía un enlace de un solo uso que caduca.
- El usuario elige una contraseña nueva → decisión: ¿el enlace sigue siendo válido? → actualizar la contraseña, cerrar las demás sesiones si esa es tu política → fin.
Iniciar sesión con otro proveedor
Los botones del tipo «Iniciar sesión con Google» suelen basarse en OAuth 2.0 y OpenID Connect. Para aplicaciones web y móviles, el patrón recomendado es el flujo de código de autorización con PKCE. En el diagrama, represéntalo como un traspaso al carril del proveedor y la vuelta, con ramas para «el usuario cancela» y «correo ya vinculado a otra cuenta».
Las decisiones de seguridad también son decisiones
Longitud mínima de la contraseña, número de intentos antes del bloqueo, validez de los enlaces: estas reglas aparecen en el diagrama como decisiones y plazos. Escribir esos umbrales en el diagrama permite revisarlos con el equipo de seguridad y con quien vaya a dar soporte.
Consejos para estos diagramas
- Carriles para usuario, frontend, backend y servicio de correo o de identidad: consulta el diagrama de carriles.
- Límites y plazos en el diagrama (5 intentos, enlace válido 24 h); cada bucle tiene salida, como en decisiones y bucles.
- Los endpoints en los pasos automáticos, como en un flujo de integración de API.
Describe tu flujo en unas frases y genera el diagrama; después añade las ramas de arriba que falten.
Convierte tu proceso en un diagrama de flujo
Descríbelo en unas frases. Flowchartio dibuja el diagrama y luego lo ajustas conversando.
Generar un diagrama