Decodificador JWT
Descodifica la capçalera i el contingut d'un JWT, llegeix exp, iat i nbf com a dates i verifica signatures HS256, RS256, ES256 o EdDSA al navegador.
Els tokens són credencials. Aquesta eina els descodifica i els verifica al teu navegador i no els envia enlloc.
Capçalera
Contingut (payload)
| Reclamació | Valor | Data | Estat |
|---|
- Algorisme (alg)
- —
- Signatura (Base64url)
- —
Verifica la signatura
HS256/384/512: introdueix el secret compartit. RS, PS, ES (256/384/512) i EdDSA: enganxa la clau pública com a PEM (clau pública, clau pública RSA o certificat) o JWK (un conjunt JWK es resol per kid).
Com descodificar un JWT
- Enganxa el token a JSON Web Token. També funciona un valor complet
Authorization: Bearer …: s’eliminen el prefixBeareri els salts de línia. - El token es descodifica mentre escrius (o fes clic a Descodifica). La Capçalera i el Contingut (payload) apareixen com a JSON formatat, cadascun amb el seu propi botó Copia.
- Llegeix la taula Reclamacions de temps:
exp,nbfiiates mostren amb el valor original, la data al teu fus horari, un temps relatiu («d’aquí a 3 hores», «fa 2 dies») i un estat com Caducat o Encara no és vàlid. - Mira els avisos que apareixen sobre els resultats, per exemple quan
algésnoneo quan una data sembla expressada en mil·lisegons. - Per comprovar la signatura, omple la clau a Verifica la signatura i fes clic a Verifica la signatura.
Descodificar no és verificar
Un JWT són tres parts en Base64url separades per punts: capçalera.contingut.signatura. La capçalera i el contingut només estan codificats, no xifrats; per tant, qualsevol persona que tingui el token els pot llegir, i aquesta eina pot descodificar qualsevol token sense cap clau. Això també vol dir que un contingut descodificat no demostra res: algú pot haver-lo modificat. Només una signatura vàlida demostra que el token l’ha emès qui té la clau i que no s’ha alterat des d’aleshores. Per això la línia d’estat diu «Descodificat (signatura no verificada)» fins que el verifiques.
Un token amb cinc parts és un JWE (JWT xifrat); el seu contingut no es pot llegir sense la clau de desxifrat, i l’eina t’ho indica.
Verificació de la signatura
- HS256, HS384, HS512 (HMAC): introdueix el Secret compartit. Amb Format del secret indica si és text pla (UTF-8) o Base64/Base64url, perquè alguns proveïdors desen els secrets en Base64. També pots enganxar una JWK de tipus
oct. Si el secret és més curt que la sortida del hash (32 bytes per a HS256), l’eina avisa que està per sota del mínim de la RFC 7518. - RS256/384/512, PS256/384/512, ES256/384/512 i EdDSA: enganxa la Clau pública (PEM o JWK). Els blocs PEM admesos són
PUBLIC KEY,RSA PUBLIC KEYiCERTIFICATE(la clau es llegeix del certificat X.509). També funciona una JWK o un conjunt JWK complet: s’utilitza la clau amb elkidde la capçalera. Les claus privades es rebutgen; un verificador no en necessita mai cap. EdDSA admet Ed25519 als navegadors on Web Crypto ho implementa.
La verificació utilitza l’API Web Crypto del navegador. Un resultat de «Signatura no vàlida» vol dir que la clau és incorrecta o que el token s’ha modificat. Tingues en compte que l’algorisme s’obté de la capçalera del token: un servidor real ha de fixar l’algorisme esperat a la configuració; si no, un atacant el pot triar.
Notes de seguretat
- Els tokens són credencials. Qui tingui un token d’accés vàlid sol poder actuar en nom del seu propietari fins que caduca. Aquesta eina descodifica i verifica tot al teu navegador i no envia enlloc ni el token ni la clau. Tot i així, evita enganxar tokens de producció en eines que no pots inspeccionar.
alg: nonevol dir que el token no està signat. Qualsevol persona en pot falsificar un, i un servidor l’ha de rebutjar. L’eina mostra un avís i es nega a «verificar» aquest token.- Les comprovacions de temps fan servir el rellotge del teu ordinador sense cap marge; els servidors solen tolerar un o dos minuts de desfasament.
- Les dates JWT (NumericDate) són segons des de l‘1 de gener de 1970 UTC. Un valor de 13 xifres probablement és en mil·lisegons, un error molt habitual.
Preguntes freqüents
Aquesta eina em pot dir si un token és vàlid?
Et pot dir si la signatura coincideix amb una clau que tu proporciones i si ara mateix es compleixen exp i nbf. Que el token s’accepti o no també depèn de comprovacions que només coneix el servidor: l’emissor esperat (iss), l’audiència (aud), l’algorisme i la revocació.
Per què falla la verificació amb el secret correcte?
Revisa el Format del secret: un secret en Base64 escrit com a text dona una clau diferent. Comprova també que no s’hagi afegit cap espai ni salt de línia al secret, ja que les claus HMAC es comparen byte a byte.
Quina diferència hi ha entre RS256, PS256 i ES256?
Les tres són signatures de clau pública amb SHA-256. RS256 utilitza RSA amb farciment PKCS#1 v1.5, PS256 utilitza RSA amb farciment PSS, i ES256 utilitza ECDSA amb la corba P-256, que dona signatures molt més curtes.
On trobo la clau pública d'un proveïdor?
Els proveïdors d’identitat publiquen un JWKS (JSON Web Key Set), normalment enllaçat des de /.well-known/openid-configuration a jwks_uri. Obre’l tu mateix i enganxa aquí el JSON; l’eina tria la clau pel kid i no baixa mai res.
És segur enganxar aquí el meu token?
El token es queda al teu dispositiu: la descodificació i la verificació es fan en local i no es puja res. Per més precaució, fes servir un token caducat o de prova quan només vulguis inspeccionar-ne l’estructura.
Eines relacionades
- Generador d'HMAC Calcula un HMAC-SHA1, SHA-256, SHA-384 o SHA-512 amb una clau en text, hex o Base64, obtén la sortida en hex i Base64 i comprova un webhook al navegador.
- Codificador i descodificador de Base64 Codifica i descodifica Base64 gratis, amb suport complet d'UTF-8 i l'opció base64url segura per a URL. Funciona al navegador, sense pujar res.
- Convertidor de marca de temps Unix Converteix marques de temps Unix en segons o mil·lisegons a dates llegibles en hora local, UTC i ISO 8601, i torna qualsevol data a temps epoch.
- Formatador i validador de JSON Formatador i validador de JSON gratuït que embelleix, minimitza i comprova JSON al navegador, amb els errors de sintaxi indicats per línia i columna.