1001Ferramentas
🆔Validadores

JWT JTI Format Verifier

Valide o formato do JTI (JWT ID), o identificador único de um token JWT. Confira se segue boas práticas de segurança, como tamanho mínimo e formato UUID.

Resultado

Como conferir o jti de um JWT

Você ligou revogação de token no backend e agora cada JWT emitido tem o jti gravado numa lista de bloqueio. Aí vem a dúvida: o identificador que o seu emissor cria, algo como sess_4471, dá conta do recado? A RFC 7519 pede que o jti seja único entre emissores e difícil de adivinhar, mas não crava formato nenhum. É justamente nessa lacuna que a maioria dos times escorrega. Cole o valor aqui e você recebe um veredito curto sobre a cara dele.

Por dentro é uma escada de checagens em ordem fixa. Campo vazio devolve INVÁLIDO. Se o texto casar com o desenho de UUID (grupos hexadecimais 8-4-4-4-12), a resposta vira OK — UUID v seguido do dígito de versão, lido direto do caractere 15 da string. Fora disso: menos de 16 caracteres vira FRACO com a contagem; qualquer caractere fora de A-Z, a-z, 0-9, hífen e sublinhado vira AVISO; o que sobra é OK com o tamanho. O veredito recalcula a cada tecla.

Formato é metade da história. O script não tem como saber se aquele jti já foi emitido antes nem se veio de um gerador aleatório: vinte letras a repetidas voltam como OK — 20 chars, e o UUID todo zerado volta como UUID v0. Trate o resultado como triagem, não como auditoria de segurança. Na hora de gerar, use crypto.randomUUID() ou 16 bytes de CSPRNG em base64url, e guarde o par jti mais exp no servidor. Tudo roda no navegador, nada sai da máquina.

Perguntas frequentes

Para que serve mesmo o jti?
É o claim opcional da RFC 7519 que dá um identificador ao token. Serve para o servidor reconhecer e barrar um JWT específico antes do vencimento, seja numa denylist de revogação ou numa proteção contra replay.
O jti precisa ser UUID?
Não. UUID é só a convenção mais comum, e a página trata qualquer string com 16 caracteres ou mais no conjunto A-Z, a-z, 0-9, hífen e sublinhado como OK. Dezesseis bytes de aleatoriedade em base64url resolvem igual.
Se aparecer OK, meu jti está seguro?
Não necessariamente. O teste olha só o formato, então uma string previsível de tamanho suficiente passa sem reclamação. Entropia real e unicidade continuam sendo responsabilidade de quem emite o token.

Ferramentas Relacionadas