Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

Parte 5 — Identidad y seguridad#

⬅️ Parte 4 · 🎓 Todas las clases · 📖 Glosario · Parte 6 ➡️

Quién eres, qué puedes hacer, y las defensas que el framework trae o no trae puestas.

Clases 66 a 78 · 13 en total · 13 construidas · 13 tecnologías en juego.

🧭 De qué va esta parte#

Trece clases sobre lo que ocurre cuando alguien intenta usar el sistema de una forma que no estaba prevista.

No es una parte sobre criptografía. Es sobre las decisiones que un framework toma por ti y las que te deja: si escapa por omisión, si trae el testigo CSRF puesto, si su ORM cierra la inyección por construcción, si te obliga a distinguir el 401 del 403.

Y es la parte donde más se nota la diferencia entre lo que un framework permite y lo que garantiza. Un framework que hace difícil el error correcto es peor que uno que lo hace imposible, aunque los dos «se puedan usar bien».

🎒 Qué da por sabido#

🎯 Qué sabrás hacer al terminarla#

🧵 Por qué en este orden#

Las cuatro primeras responden «quién eres»: sesión, token, contraseñas y el protocolo estándar para delegarlo.

Las dos siguientes responden «qué puedes»: por rol y por recurso, que son preguntas de naturaleza distinta.

Las siete últimas son los ataques concretos y sus defensas: CSRF, XSS, inyección, secretos, auditoría, política de contenido y dependencias vulnerables. En ese orden porque cada uno usa lo anterior.

📚 Las clases#

# Clase Qué resuelve Nivel Estado
066 Sesión con cookie Recordar al usuario entre peticiones sin exponerlo. 🟡 intermedio ✅ Construida
067 Token de acceso Firmar y verificar una credencial sin estado en el servidor. 🟡 intermedio ✅ Construida
068 Contraseñas bien guardadas Almacenar de forma que un volcado no las revele. 🟡 intermedio ✅ Construida
069 OAuth 2.0 y OpenID Connect Delegar la identidad sin manejar credenciales ajenas. 🔴 avanzado ✅ Construida
070 Autorización por rol Separar quién eres de qué puedes hacer. 🟡 intermedio ✅ Construida
071 Autorización por recurso Comprobar la propiedad del dato, no solo el rol. 🔴 avanzado ✅ Construida
072 CSRF Entender el ataque antes de activar la defensa. 🟡 intermedio ✅ Construida
073 XSS y escapado Ver qué escapa el framework por omisión y qué no. 🟡 intermedio ✅ Construida
074 Inyección SQL Comprobar que la consulta parametrizada lo es de verdad. 🟡 intermedio ✅ Construida
075 Secretos y configuración Sacar del código lo que no puede estar en el repositorio. 🟡 intermedio ✅ Construida
076 Auditoría Dejar rastro de quién hizo qué, utilizable después. 🔴 avanzado ✅ Construida
077 Política de seguridad de contenido Limitar lo que el navegador acepta ejecutar. 🔴 avanzado ✅ Construida
078 Dependencias vulnerables Saber qué arrastras y cuándo te expone. 🟡 intermedio ✅ Construida

🎬 Las tecnologías que aparecen#

Entre paréntesis, en cuántas clases de esta parte interviene cada una. Estar aquí no es una recomendación: es que el problema de esa clase existe de verdad para esa tecnología.

Ecosistema Tecnologías
JavaScript/TypeScript React (2), SolidJS (2), Svelte (2), Vue (2), Lit (1), Prisma ORM (1)
.NET ASP.NET Core (10), Entity Framework Core (1)
Python FastAPI (10), SQLAlchemy (1)
JVM Spring Boot (10), Hibernate ORM (1)
Node.js Express (10)

📖 Las palabras que esta parte define#

Sesión · Cookie · Fijación de sesión · Token de acceso · Función de derivación de clave · Comparación en tiempo constante · Enumeración de usuarios · OAuth 2.0 · OpenID Connect · PKCE · Autorización por rol · Autorización por recurso · Seguro (método) · CSRF · Testigo sincronizado · XSS · Inyección SQL · Consulta parametrizada · Configuración por entorno · Secreto · Auditoría · Política de seguridad de contenido · Nonce · Archivo de bloqueo · Dependencia transitiva · Versionado semántico · Cadena de suministro

Todas, con su definición, en el glosario.

✅ Cómo se ejecuta una clase de esta parte#

node scripts/run-class.mjs 066

El verificador arranca cada implementación, la somete a su contrato.json y declara cuáles omitió por no encontrar su cadena de herramientas. Si te faltan cadenas, node scripts/doctor.mjs dice cuáles y cómo se instalan.

➡️ Y después#

La parte 6 cambia de lado del cable: del servidor que responde al navegador que pinta.