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 tokensub: sujeto, normalmente un identificador de usuario o servicioaud: audiencia, el destinatario previstoexp: tiempo de expiraciónnbf: no válido antes deiat: emitido enjti: 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.