11 módulos52 lecciones~26h 5min

Autenticación y Autorización: Sesiones, JWT, OAuth 2.0 y OpenID Connect

Implementa login, sesiones, JWT, roles y "Iniciar sesión con..." entendiendo por qué existe cada pieza. Contraseñas con Argon2, cookies seguras, CSRF, access y refresh tokens, RBAC, IDOR, OAuth 2.0 con PKCE, OpenID Connect con Keycloak local, MFA y passkeys. Todo con animaciones y atacando tu propio código.

Temario del curso

1

El problema de la identidad en la web

0 / 4 lecciones

1
Autenticación vs autorización: quién eres vs qué puedes hacer5 min
2
Prepara el laboratorio en Windows, macOS y Linux39 min
3
HTTP no tiene memoria: por qué existe todo esto18 min
4
El proyecto del curso: API de Notas y su mapa de amenazas23 min
2

Contraseñas bien guardadas

0 / 5 lecciones

1
Por qué una contraseña nunca se guarda, ni siquiera cifrada13 min
2
Salt, pepper y por qué SHA-256 es mala idea: bcrypt y Argon232 min
3
Registro y login con Argon2 en Node.js37 min
4
Ataques al login: fuerza bruta, credential stuffing, enumeración y timing17 min
5
Rate limiting y bloqueo progresivo23 min
3

Sesiones con cookies

0 / 5 lecciones

1
Cómo funciona una sesión: el ID en la cookie y el estado en el servidor35 min
2
Atributos de cookie que te salvan: HttpOnly, Secure, SameSite, Domain y Path18 min
3
Sesiones en Redis: logout real y cerrar todas las sesiones43 min
4
Session fixation y rotación del ID47 min
5
CSRF: el ataque que existe por culpa de las cookies34 min
4

JWT por dentro

0 / 5 lecciones

1
Anatomía de un JWT: decodificarlo a mano24 min
2
Firmar y verificar: HS256 vs RS256 vs EdDSA11 min
3
Emitir y verificar JWT en Node con jose33 min
4
Ataques clásicos: alg none, confusión de algoritmo y secretos débiles24 min
5
El problema que nadie te cuenta: un JWT no se puede revocar22 min
5

Access y refresh tokens

0 / 5 lecciones

1
Access corto y refresh largo: el modelo de dos llaves42 min
2
Dónde guardar tokens en el navegador: localStorage vs memoria vs cookie19 min
3
Rotación de refresh tokens y detección de reutilización33 min
4
Revocación: lista negra, versión de token y cerrar sesión en todos los dispositivos44 min
5
Sesiones vs JWT: la decisión honesta16 min
6

Autorización: qué puede hacer cada quien

0 / 5 lecciones

1
Del ¿estás logueado? al ¿puedes hacer esto?: middleware de autorización32 min
2
RBAC: roles y permisos26 min
3
IDOR y BOLA: la vulnerabilidad número 1 de las APIs24 min
4
ABAC y políticas: cuando los roles no alcanzan34 min
5
Multi-tenant: aislar los datos de cada empresa56 min
7

OAuth 2.0

0 / 9 lecciones

1
El problema que resuelve OAuth: delegar sin compartir la contraseña6 min
2
Los cuatro actores de OAuth y sus tokens7 min
3
Levantar Keycloak en local23 min
4
Authorization Code Flow paso a paso, con curl y el navegador29 min
5
PKCE: por qué hoy es obligatorio incluso en backends21 min
6
state, redirect_uri y los ataques que evitan26 min
7
Scopes y consentimiento20 min
8
Client Credentials: comunicación de máquina a máquina32 min
9
Flujos muertos: Implicit y Password grant, y por qué se abandonaron22 min
8

OpenID Connect y login social

0 / 5 lecciones

1
OAuth no es login: lo que agrega OpenID Connect29 min
2
Discovery, JWKS y cómo validar bien un ID token35 min
3
Iniciar sesión con Google o GitHub y cómo vincular cuentas35 min
4
Patrón BFF: sacar los tokens del navegador47 min
5
Logout en OIDC: local, RP-initiated y back-channel38 min
9

Más allá de la contraseña

0 / 3 lecciones

1
MFA con TOTP: cómo se generan los códigos de 6 dígitos75 min
2
Passkeys y WebAuthn: login con clave pública43 min
3
Recuperación de cuenta y magic links: la puerta trasera más atacada62 min
10

Autenticación en producción

0 / 3 lecciones

1
Checklist de seguridad de autenticación según OWASP ASVS22 min
2
Logs de auditoría y detección de anomalías33 min
3
Construir vs comprar: Keycloak, Auth0, Clerk y Supabase Auth13 min
11

Proyecto final

0 / 3 lecciones

1
Proyecto: API de Notas completa con sesiones, JWT y RBAC55 min
2
Proyecto: SPA con login OIDC vía BFF contra Keycloak32 min
3
Proyecto: ataca tu propia implementación36 min