Gerador JWT
Gere JSON Web Tokens assinados com cabeçalho, carga e chave personalizados. Suporta HS256, RS256, ES256.
O que é um JWT?
JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações com segurança como um objeto JSON compacto. Consiste em três partes separadas por pontos: Header.Payload.Signature.
Quais são os usos comuns do JWT?
JWT é amplamente usado para autenticação (login único), autorização de API e troca segura de informações. Após o login, o servidor emite um JWT que o cliente inclui nas requisições seguintes.
Como escolher entre HS256, RS256 e ES256?
HS256 usa um segredo compartilhado e é o mais rápido, ideal para serviços únicos. RS256 usa pares de chaves RSA, melhor para arquiteturas multi-serviço. ES256 usa curvas elípticas com alta segurança e assinaturas menores.
O que são claims do JWT?
Claims são declarações no payload. Os registrados incluem iss (emissor), sub (assunto), exp (expiração), aud (audiência). Claims públicos podem ser registrados na IANA. Claims privados são campos personalizados.
Como verifico um JWT?
Decodifique o header para obter o algoritmo, depois use a chave adequada (segredo compartilhado para HMAC, chave pública para RSA/ECDSA) para verificar a assinatura. Verifique também exp, iss e aud.
É seguro gerar JWTs no navegador?
Sim, esta ferramenta usa a Web Crypto API. Suas chaves e tokens nunca saem do navegador. Nenhum dado é enviado a servidores.
Qual a diferença entre codificar e assinar?
Codificar (Base64) apenas converte dados para formato transmissível e é reversível por qualquer um. Assinar cria um hash criptográfico que prova que o token não foi alterado.
JWT pode ser criptografado?
Sim, JWE (JSON Web Encryption) criptografa o conteúdo do payload. O JWT padrão (JWS) garante apenas integridade, mas o payload é legível por qualquer pessoa com o token.
Quais são as melhores práticas de segurança para JWT?
Sempre defina tempos de expiração curtos. Use segredos fortes e aleatórios para HMAC. Armazene chaves privadas com segurança. Nunca coloque dados sensíveis no payload. Use HTTPS em produção.
Como JWT se compara à autenticação por sessão?
JWT é sem estado — o servidor não armazena dados de sessão, ideal para microsserviços e domínios cruzados. Sessões requerem armazenamento no servidor mas permitem revogação instantânea.
JWT é adequado para logout?
JWT é sem estado por natureza, então logout requer mecanismos extras como listas de bloqueio ou tokens de curta duração com refresh tokens. Use tokens de acesso de vida curta (ex: 15 minutos).
Como funciona o padrão de refresh token com JWT?
Use um token de acesso de curta duração (JWT) para chamadas API e um refresh token de maior duração para obter novos tokens. Quando o token expira, o cliente envia o refresh token para obter um novo JWT.
O que é o algoritmo "none"?
O algoritmo "none" significa que o JWT não está assinado. Use apenas para testes. Muitas bibliotecas o desativam por padrão por segurança.
Existem limitações de tamanho no JWT?
JWT não tem limite fixo, mas como é enviado em cabeçalhos HTTP, deve ficar abaixo de 4KB. Mantenha o payload mínimo, inclua apenas claims necessários.