Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

OpenID Connect, la capa de identidad

5 tareas · 40 min · Principiante

OAuth 2.0 deja sin responder quién inició sesión. OpenID Connect (OIDC) lo resuelve encima de OAuth con un token propio, el de identificación, y con reglas de validación que la aplicación debe cumplir una por una. Terracota Logística registró cómo cinco de sus aplicaciones validaron ese token esta mañana y no todas lo hicieron bien. Aprendes qué trae el token y qué hay que comprobar, y lees el registro de validaciones. Solo lectura, con valores inventados.

0 de 5 · 0%

Objetivo de la sala

OAuth 2.0 deja sin responder quién inició sesión. OpenID Connect (OIDC) lo resuelve encima de OAuth con un token propio, el de identificación, y con reglas de validación que la aplicación debe cumplir una por una. Terracota Logística registró cómo cinco de sus aplicaciones validaron ese token esta mañana y no todas lo hicieron bien. Aprendes qué trae el token y qué hay que comprobar, y lees el registro de validaciones. Solo lectura, con valores inventados.

OpenID Connect 1.0 es una capa de identidad sobre OAuth 2.0. La aplicación pide el alcance openid junto a los demás y, además del token de acceso, el servidor de autorización le entrega un token de identificación, un JWT (JSON Web Token, RFC 7519) firmado por el servidor. Dentro van afirmaciones sobre el inicio de sesión. Las obligatorias son cinco: el emisor (iss), el identificador estable de la persona dentro de ese emisor (sub), la audiencia (aud, que debe incluir el client_id de la aplicación), la fecha de vencimiento (exp) y la de emisión (iat).

Y hay un punto fino: un token de identificación es para que lo lea el cliente. No se manda a una API como si fuera un token de acceso.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Qué cambia cuando una aplicación añade el alcance openid a su solicitud?

La aplicación que recibe el token tiene que comprobar varias cosas, según la especificación (OpenID Connect Core, sección 3.1.3.7): que el emisor (iss) sea exactamente el del servidor en que confía; que su propio client_id esté en la audiencia (aud); que la firma sea válida; que no haya vencido (exp); y, si envió un nonce, que el token traiga el mismo.

Abre el laboratorio y compara en validaciones_id_token las columnas aud_recibido y client_id_propio. Una aplicación aceptó un token que en realidad se emitió para otra: un token de otra aplicación no debe servir de inicio de sesión aquí.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Qué aplicación aceptó un token de identificación cuya audiencia era otra aplicación?

El nonce es un valor al azar que la aplicación envía al pedir el inicio de sesión y que el servidor copia dentro del token. Al recibirlo, la aplicación comprueba que el valor es el que envió. Así sabe que el token responde a su petición y no es uno viejo o de otra sesión reutilizado.

Compara nonce_recibido con nonce_enviado en cada fila. Una aplicación aceptó el token aunque los dos valores no coinciden.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Qué aplicación aceptó un token cuyo nonce no era el que envió?

Un fallo de validación casi nunca se nota en el uso normal: la persona inicia sesión y todo parece bien. Solo se ve en el registro, que es donde se compara lo recibido con lo esperado. Por eso el nonce y la audiencia se comprueban aunque «ya funcione».

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Qué problema evita comprobar el nonce?

El registro incluye también la hora de validación y la de vencimiento (exp): un token vencido no debe aceptarse. Una fila decide «rechazado» y es la correcta, porque el emisor recibido no es el esperado. Cuenta cuántas filas terminaron en «aceptado» cuando alguna de las comprobaciones (emisor, audiencia, nonce o vencimiento) debía haber fallado.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Cuántas validaciones aceptaron un token que debía rechazarse?

Inicia sesión para registrar tus puntos y progreso en el ranking.

Conectando con la base…

Validación del token de identificación · Terracota Logística
Consulta del registro de validaciones de las aplicaciones · solo lectura · valores ficticios

Tablas

validaciones_id_token

  • aplicacion
  • iss_recibido
  • iss_esperado
  • aud_recibido
  • client_id_propio
  • nonce_recibido
  • nonce_enviado
  • exp
  • validado_a_las
  • decision
Ctrl + Enter
Consola de consultas v1.0 · build b77233

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