Um codificador JWT local e seguro
Este codificador JWT permite que desenvolvedores criem, modifiquem e assinem JSON Web Tokens rapidamente, direto no navegador. Seja ao criar um fluxo de autenticação, testar um endpoint de API ou depurar um microsserviço, você pode gerar tokens válidos na hora, sem precisar escrever scripts personalizados ou expor suas credenciais a servidores de terceiros.
Como a ferramenta utiliza a Web Crypto API nativa do seu navegador, todo o processamento de dados e a assinatura criptográfica ocorrem inteiramente no seu dispositivo. Seu payload JSON e suas chaves secretas nunca são enviados, armazenados ou registrados. Essa abordagem local torna seguro assinar JWT online, mesmo ao trabalhar com credenciais sensíveis de desenvolvimento ou homologação.
Como criar um token JWT
Para criar um token JWT, você precisa de três componentes: um cabeçalho (que define o algoritmo), um payload (que contém seus dados) e uma chave secreta (que protege o token).
Comece selecionando o algoritmo. Esta ferramenta funciona como um robusto gerador de jwt HS256, mas também tem suporte para HS384 e HS512. Esses são algoritmos HMAC simétricos, o que significa que a mesma chave secreta é usada para assinar o token e para verificá-lo posteriormente. Quanto maior o número (ex.: 512), maior o tamanho do hash resultante, o que oferece uma segurança criptográfica mais forte à custa de uma string de token um pouco mais longa.
Em seguida, defina seu payload na área de texto fornecida. O payload deve ser um JSON válido. Conforme você edita o JSON ou atualiza a chave secreta, a ferramenta recalcula a assinatura em tempo real, fornecendo feedback imediato se houver um erro de sintaxe na estrutura do seu JSON. Assim que o payload e a chave secreta estiverem definidos, o token final estará pronto para ser copiado e usado nos cabeçalhos de Authorization ou cookies da sua aplicação.
Casos de uso comuns para gerar tokens
Ter um gerador de jwt confiável à disposição é essencial para o desenvolvimento web moderno. Desenvolvedores usam frequentemente esta ferramenta para diversos cenários de teste e depuração:
Testar endpoints de API: Ao trabalhar com clientes de API como Postman ou Insomnia, você frequentemente precisa de um bearer token válido para acessar rotas protegidas. Em vez de rodar toda a sua aplicação frontend para fazer login e obter um token, você pode gerar um manualmente aqui com o ID de usuário e os papéis (roles) exatos que precisa.
Depurar a lógica de autenticação: Se o seu backend estiver rejeitando tokens, criar um token manualmente ajuda a isolar o problema. Você pode verificar se o erro vem de uma chave secreta incorreta, um payload malformado ou uma incompatibilidade no algoritmo de assinatura.
Criar edge cases: Testar como seu backend lida com tokens expirados, claims ausentes ou papéis não autorizados é crucial para a segurança. Você pode manipular facilmente o payload JSON aqui para criar esses edge cases e garantir que seu servidor responda com os códigos de status HTTP corretos.
Gerenciando timestamps e claims
Os JSON Web Tokens usam campos específicos, conhecidos como claims, para transmitir informações sobre o ciclo de vida do token e o usuário que ele representa. As claims baseadas em tempo mais comuns são iat (Issued At) e exp (Expiration Time). Ambas exigem um timestamp Unix, que é o número de segundos decorridos desde 1º de janeiro de 1970.
Calcular esses timestamps manualmente pode ser trabalhoso durante os testes. Para acelerar seu fluxo de trabalho, esta ferramenta inclui botões de ação rápida acima do editor de payload.
- Clicar em iat = now insere ou atualiza instantaneamente o campo
iatcom o tempo Unix atual. - Clicar em exp = +1h ou exp = +24h calcula o timestamp futuro e atualiza o campo
expde acordo.
Isso garante que os tokens gerados sejam válidos imediatamente e não sejam rejeitados prematuramente pela lógica de validação de tempo do seu servidor.
Lidando com secrets em Base64
Um problema comum ao tentar assinar um JWT online é lidar com a codificação da chave secreta. Muitos sistemas back-end e tutoriais recomendam gerar um array de bytes forte e aleatório para o seu secret HMAC e armazená-lo como uma string Base64 nas variáveis de ambiente.
Se o seu servidor decodifica essa string Base64 em bytes brutos antes de assinar ou verificar o token, colar a string Base64 diretamente em um gerador padrão resultará em uma assinatura inválida. O gerador tratará os caracteres Base64 como texto simples, causando uma divergência.
Para resolver isso, basta marcar a opção Secret codificado em Base64. A ferramenta decodificará seu secret para os bytes brutos originais antes de aplicar o hash HMAC, garantindo que a assinatura gerada seja exatamente igual à do seu ambiente back-end.
Entendendo a estrutura do JWT
Quando você gera um token, o resultado é exibido em um formato codificado por cores para ajudar a entender sua estrutura. Um JWT padrão é composto por três partes separadas por pontos (.):
- Cabeçalho (Vermelho): Contém metadados sobre o token, principalmente o algoritmo de assinatura (ex.:
{"alg":"HS256","typ":"JWT"}). Ele é gerado automaticamente com base no algoritmo escolhido e codificado em Base64-URL. - Payload (Azul): Seus dados JSON reais, também codificados em Base64-URL. Essa parte é facilmente legível por qualquer pessoa que intercepte o token, por isso você nunca deve colocar senhas ou dados altamente sensíveis no payload.
- Assinatura (Verde): O hash criptográfico do cabeçalho e do payload codificados, assinado usando sua chave secreta. Isso garante que o token não foi adulterado durante a transmissão.
Se você já tem um token e deseja ver seu conteúdo sem a chave secreta, pode colá-lo em nosso Decodificador JWT para inspecionar o cabeçalho e o payload com segurança.