Formatear JSON
Formatear, validar y plegar JSON.
Desarrollo
Leer el contenido de un JSON Web Token.
Esta advertencia va primero porque la consecuencia es grave.
Un JWT es una llave. Quien lo tiene eres tú —para el servicio al que pertenece y mientras siga siendo válido. Ya no hay ninguna contraseña de por medio.
Pegar un token en un descodificador en línea equivale a enviar tu acceso a un tercero. Con un token de producción es un incidente de seguridad, y es una de las vías por las que se escapan accesos.
Aquí no se transmite nada: la descodificación ocurre por completo en tu navegador. Precisamente por eso está construida así. Con otro descodificador cualquiera eso no está garantizado: compruébalo, o da el token por comprometido.
Trabaja siempre que puedas con un token de prueba. Si aun así se te escapa uno, revócalo y genera otro.
El malentendido más extendido sobre los JWT.
Un JWT normal tiene tres partes separadas por puntos: la cabecera, los datos y la firma. Las dos primeras están codificadas en base64url, no cifradas: cualquiera puede leerlas.
La firma protege frente a la modificación, no frente a la lectura. Garantiza que el contenido no se ha alterado desde su emisión, y nada más.
No pongas nunca en un token algo que su portador no deba saber. Ni contraseñas, ni notas internas, ni datos personales innecesarios. Lo que hay dentro lo puede leer el usuario.
Esta herramienta no verifica la firma. No podría sin la clave, que no tiene sitio en un navegador. Ves lo que contiene el token, no si es válido.
Unos pocos campos estándar aparecen en casi todos los tokens.
| Campo | Significado |
|---|---|
| exp | caduca el — después se rechaza |
| iat | emitido el |
| nbf | no válido antes de |
| sub | a quién describe |
| iss | quién lo emitió |
| aud | para qué servicio |
Las marcas de tiempo van en segundos desde 1970 en UTC, ilegibles tal cual; aquí aparecen como fecha y hora.
Un token caducado es la causa más frecuente de un error inesperado en una API. Mira primero exp. Ten en cuenta también el desfase de reloj entre servidor y cliente: unos minutos de diferencia pueden hacer que un token recién emitido parezca inválido.
No. Cabecera y datos solo están codificados y cualquiera puede leerlos.
Aquí no se transmite nada, así que técnicamente sí. Aun así, no te acostumbres.
No. Requeriría la clave, que no tiene sitio en un navegador.
Normalmente está caducado. Mira exp y el desfase de reloj.
Nada que su portador no deba saber.
No, la descodificación ocurre en tu navegador.