O que é um JSON Web Token (JWT) e como ele é formado
O JSON Web Token (JWT), definido pela especificação RFC 7519, é um padrão aberto e compacto usado para transmitir informações entre aplicações como um objeto JSON. Ele é amplamente adotado em fluxos de autenticação OAuth 2.0, OpenID Connect e APIs REST.
Um JWT assinado (JWS) possui exatamente três segmentos separados por pontos (header.payload.signature): o Header define o algoritmo (como HS256 ou RS256) e o tipo do token; o Payload carrega as declarações (claims) sobre o usuário e permissões; e a Signature garante que o conteúdo não foi adulterado em trânsito.
Por que o conteúdo do JWT não é secreto
Um erro comum de iniciantes é confundir codificação com criptografia. Tanto o Header quanto o Payload são apenas codificados em Base64URL, o que significa que qualquer pessoa que interceptar ou abrir o token consegue decodificar seus dados instantaneamente — sem precisar de nenhuma chave.
Por essa razão, esta ferramenta exibe um aviso visível reforçando que a assinatura não é validada no cliente e recomenda nunca incluir senhas, chaves privadas ou dados sensíveis sem criptografia JWE.
Claims padrão mais comuns no Payload
| Claim | Nome | Função |
|---|---|---|
| iss | Issuer | Identifica quem emitiu o token. |
| sub | Subject | Identificador do usuário ou entidade principal. |
| aud | Audience | Destinatários autorizados a aceitar o token. |
| exp / iat / nbf | Timestamps Unix | Expiração (exp), emissão (iat) e início de validade (nbf) em segundos. |
Perguntas Frequentes sobre Decodificação JWT
É seguro colar meu token JWT aqui?
Sim. Toda a decodificação acontece localmente no seu navegador via JavaScript (Base64URL + TextDecoder UTF-8). O token nunca sai do seu dispositivo nem é enviado para nenhum servidor.
O Decodificador JWT valida a assinatura do token?
Não. Esta versão realiza apenas a decodificação e inspeção do Header e do Payload. Para verificar a autenticidade da assinatura, utilize a chave secreta ou chave pública diretamente no seu backend.
Qual a diferença entre Base64URL e criptografia no JWT?
Base64URL é apenas uma forma de codificar texto para tráfego seguro em URLs e cabeçalhos HTTP. Qualquer pessoa com acesso a um JWT (JWS) pode ler seu conteúdo; por isso, nunca armazene senhas ou segredos no Payload.
Como interpretar os campos exp, iat e nbf no payload?
São timestamps Unix em segundos: iat (Issued At) indica quando o token foi emitido, nbf (Not Before) define a partir de quando ele passa a valer, e exp (Expiration Time) marca o momento em que o token expira.
