Decodificar JWT

Lee un token, comprueba la firma o firma un token de prueba en el navegador. HMAC, RSA y ECDSA. El token no se envía. Una dirección JWKS solo se consulta si lo pides.

Token

Cabecera Carga Firma

Dirección JWKS

Comprobar con JWKS lee esa dirección en este navegador y solo descarga claves. El token se queda en la página. La dirección tiene que permitir la petición del navegador.

Revisión

    Firma

    Leer un token, comprobarlo o firmar una prueba

    Un JWT tiene tres partes en Base64url: cabecera, carga y firma. La cabecera y la carga son JSON, no van cifradas. Quien tiene el token puede leerlas. La firma muestra que la carga no se editó, si tienes el secreto HMAC o la clave pública. Esta página lee, comprueba y genera en el navegador. Marca alg none, un exp ausente o ya vencido, una hora en milisegundos y un secreto HMAC de menos de 32 bytes. El token no se envía. Una suma en la página de hash no es una firma JWT. exp es tiempo Unix en segundos; otras zonas están en la marca de tiempo Unix.

    Cómo se usa

    1. El token está a la izquierda. A la derecha, Cabecera y Carga son dos pestañas. Con Actualizar al escribir, los dos recuadros se rellenan. Las horas bajo la carga son la hora local de este equipo. No hay margen: si exp es ahora o antes, está caducado.
    2. Mostrar ejemplo carga un token HS256 cuya carga es {"sub":"user-1"} y pone el secreto HMAC en secret. El secreto está en Base64 queda sin marcar. Comprobar dice que la firma coincide. Revisión dice que el secreto tiene 6 bytes y que no hay exp. El ejemplo es corto a propósito.
    3. Comprobar mira el recuadro del token, no los cambios sin generar en Cabecera o Carga. HS256, HS384 y HS512 usan el secreto HMAC. RS, PS y ES usan el par bajo Algoritmo: la clave pública comprueba y la privada firma. Generar clave rellena las dos. Generar arma un token nuevo desde esos dos recuadros. El menú Algoritmo manda sobre el alg escrito en la cabecera.
    4. Caducidad empieza en Conservar los campos, así que Generar no toca iat ni exp. Elige 1 hora y Generar escribe ambos en segundos desde ahora. La plantilla Usuario rellena sub 1234567890, name John Doe y email [email protected]. Acceso rellena sub user-1 y scope read.
    5. Copiar bajo el token copia el token. Copiar en Cabecera o Carga copia ese recuadro. Comprobar con JWKS lee la dirección JWKS en este navegador y solo descarga claves. El token no se envía. Borrar todo vacía el token, los dos JSON, el secreto, la clave y la dirección.

    Qué se comprueba

    HS256, HS384 y HS512 usan el secreto. Con menos de 32 bytes también firma, y Revisión avisa. Marca El secreto está en Base64 solo si el secreto es Base64. RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 y ES512 usan un PEM o un JWK. Una clave pública comprueba. Una clave privada PKCS#8 genera. Una clave privada RSA también puede comprobar, porque lleva la mitad pública. Puedes pegar SPKI (BEGIN PUBLIC KEY), PKCS#8 (BEGIN PRIVATE KEY) o RSA PKCS#1. Un certificado se rechaza. Una clave EC BEGIN EC PRIVATE KEY también; expórtala como PKCS#8. alg none nunca se toma por válido. Comprobar sigue el alg de la cabecera. El secreto HMAC no se usa para comprobar RSA. exp, nbf e iat son segundos. Un valor de 13 cifras se marca, no se convierte. Un JWKS es un juego de claves, o un solo JWK. Varias claves sin kid es un error. Un array en Cabecera o Carga frena Generar.

    Para qué sirve

    • Leer sub y exp de un token que ya tienes.
    • Firmar un HS256 local para un servidor cuyo secreto pusiste tú.
    • Comprobar un RS256 con el PEM público, o con una dirección JWKS que deje entrar al navegador.
    • Ver que un secreto de prueba es corto antes de copiarlo a una config.

    Preguntas

    ¿La carga va cifrada?

    No. Es Base64url. No pongas una contraseña, un documento o una tarjeta.

    ¿Por qué falla Comprobar?

    El token necesita dos puntos y dos partes JSON. El alg de la cabecera tiene que ser uno que esta página conozca. HS necesita el mismo secreto con el que se firmó, y El secreto está en Base64 tiene que coincidir con cómo está guardado. RSA y EC quieren la clave pública, no un certificado. Un exp pasado es un aviso en Revisión, no una firma que no coincide.

    ¿HS256 o RS256?

    HS256 es un secreto compartido. RS256 firma con la clave privada y se comprueba con la pública. No des el secreto HMAC a otro servicio. Dales la clave pública.

    ¿Qué es alg none?

    La cabecera dice que no hay firma. Esta página no dirá que el token es válido.

    ¿Esta página puede anular un token filtrado?

    No. Acorta exp en el servidor que emite los tokens, o guarda allí una lista de revocación.

    ¿Se puede pegar un token aquí?

    La comprobación se queda en el navegador. Comprobar con JWKS es la única petición, y descarga claves, no tu token. Aun así, no pegues un token de producción vigente en un equipo compartido. Si la hora parece ir horas desviada, el número es UTC y la línea bajo la carga es el reloj de este equipo.