Lección 2

Claims JWT

Aprende la diferencia entre claims registrados, públicos y privados.

Los claims JWT son campos dentro del payload. Describen el sujeto, emisor, audiencia, límites temporales, permisos o hechos específicos de la aplicación.

Claims registrados

Los claims registrados tienen nombres estandarizados:

  • iss: emisor, la parte que emitió el token
  • sub: sujeto, normalmente un identificador de usuario o servicio
  • aud: audiencia, el destinatario previsto
  • exp: tiempo de expiración
  • nbf: no válido antes de
  • iat: emitido en
  • jti: identificador del token

Estos campos son opcionales en el formato JWT, pero muchos sistemas reales exigen varios de ellos.

Claims públicos y privados

Los claims públicos son nombres pensados para compartirse entre sistemas. Los claims privados se acuerdan entre tus servicios, como role, tenantId, scope o permissions.

Los claims temporales usan segundos Unix

Los claims temporales JWT son normalmente valores NumericDate: segundos desde la época Unix. JavaScript suele usar milisegundos, así que un bug común es comparar accidentalmente un claim en segundos con una marca temporal en milisegundos.

Al depurar, comprueba siempre tanto el valor Unix en bruto como una hora UTC o local legible. Usa el Decodificador JWT para inspeccionar claims con marcas temporales legibles.

Volver al resumen del curso