🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónOIDC: el token de identidad y lo que se debe validar
5 tareas · 40 min · Principiante
OAuth 2.0 reparte permisos, no identidades: un token de acceso dice qué se puede hacer, no quién eres. OpenID Connect añade esa capa encima con un segundo token, el de identidad, que la aplicación recibe y tiene que comprobar antes de creerle. El fallo más común de toda la federación vive aquí, y no se ve mirando el token: se ve mirando qué comprueba quien lo recibe. Lees los metadatos que publica el proveedor de Alimentos Apulo, las afirmaciones de los tokens que sus cuatro cuentas de prueba recibieron y la lista de comprobaciones que el equipo documentó para cada aplicación.
Objetivo de la sala
OAuth 2.0 reparte permisos, no identidades: un token de acceso dice qué se puede hacer, no quién eres. OpenID Connect añade esa capa encima con un segundo token, el de identidad, que la aplicación recibe y tiene que comprobar antes de creerle. El fallo más común de toda la federación vive aquí, y no se ve mirando el token: se ve mirando qué comprueba quien lo recibe. Lees los metadatos que publica el proveedor de Alimentos Apulo, las afirmaciones de los tokens que sus cuatro cuentas de prueba recibieron y la lista de comprobaciones que el equipo documentó para cada aplicación.El token de acceso se le presenta a una interfaz de programación para pedirle algo; la aplicación que lo transporta no tiene por qué entender lo que dice, y en muchos despliegues no puede. El token de identidad va en la otra dirección: se lo entrega el proveedor a la aplicación para contarle quién acaba de iniciar sesión, y la aplicación sí tiene que leerlo entero y comprobarlo.
Las afirmaciones que deciden son pocas. El emisor dice quién lo firmó y debe coincidir exactamente con el proveedor que la aplicación espera. La audiencia dice para qué aplicación se emitió. Las dos fechas dicen desde cuándo y hasta cuándo vale. Y el valor que ata el token a la petición concreta que lo originó impide que valga uno recibido en otro momento. Si la aplicación se salta una de esas comprobaciones, la firma correcta deja de ser suficiente.
Responde para continuar
¿Para qué sirve el token de identidad que recibe la aplicación?
Ver pista de ayuda
Uno de los dos tokens va dirigido a la aplicación; el otro solo pasa por ella.
La audiencia es la comprobación que más se olvida y la que más duele cuando falta. Si una aplicación acepta cualquier token bien firmado por el proveedor sin mirar para quién fue emitido, entonces un token legítimo obtenido en otra aplicación del mismo emisor sirve también aquí. No hace falta romper ninguna firma: basta con que el emisor sea el mismo.
En la evidencia hay cuatro tokens de prueba, y uno de ellos fue aceptado por una aplicación distinta de aquella para la que se emitió. Abre el laboratorio y compara las dos columnas.
Responde para continuar
Escribe el nombre de la aplicación que aceptó un token de identidad emitido para otra.
Ver pista de ayuda
Ejecuta `SELECT cuenta_de_prueba, aplicacion_que_lo_recibio, audiencia FROM tokens_de_identidad` y busca la fila donde las dos últimas columnas no coinciden.
La vida corta de un token de identidad solo existe si alguien la hace cumplir. El proveedor puede emitirlos con cinco minutos de validez y la aplicación seguirá aceptando uno de hace tres semanas si no compara la fecha de vencimiento con la hora actual. Es un fallo de una línea que convierte cualquier token filtrado en una llave permanente.
Vuelve al laboratorio y mira la tabla de comprobaciones.
Responde para continuar
Escribe el nombre de la aplicación que no comprueba hasta cuándo vale el token.
Ver pista de ayuda
Ejecuta `SELECT aplicacion, comprueba_vigencia FROM validaciones` y quédate con la fila que dice que no.
El informe necesita el tamaño del problema, no una anécdota. La tabla de comprobaciones tiene cinco columnas de sí o no por aplicación; cuenta cuántas aplicaciones tienen al menos un «no». Esa cifra es la que abre el hallazgo, y la lista nominal va debajo.
Responde para continuar
¿Cuántas de las aplicaciones de la tabla de comprobaciones dejan de hacer al menos una de las validaciones?
Ver pista de ayuda
Ejecuta `SELECT * FROM validaciones` y cuenta las filas que tengan algún «no», sin importar en qué columna.
Una de las aplicaciones no comprueba el valor que ata el token a la petición que lo originó. Sin esa atadura, un token de identidad válido capturado antes puede presentarse después como si fuera la respuesta a un inicio de sesión nuevo. No es lo mismo que la audiencia ni que la vigencia: es la comprobación de que este token responde a esta petición y no a otra.
Responde para continuar
¿Cómo se le explica al cliente el riesgo de no comprobar ese valor?
Ver pista de ayuda
La firma sigue siendo válida en los tres casos; lo que cambia es si el token responde a esta petición.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.