Gerador JWT | Toolypet
Gerador JWT gratuito online. Crie e assine JSON Web Tokens com claims personalizados. Disponivel como MCP.
O que é isso?
Um gerador de JWT (JSON Web Token) que cria tokens assinados com claims personalizados, expiração configurável e algoritmos HMAC (HS256/HS384/HS512). Suporta claims padrão (iss, sub, aud, exp) e payloads personalizados para fluxos de autenticação e autorização.
Entrada
Insira claims personalizados como objeto JSON
Para algoritmos HMAC. Use um segredo forte e aleatório.
HS256 é recomendado para a maioria dos casos
Pré-visualização
Configure os claims e clique em gerar
Como Usar
Defina seu payload com claims personalizados, configure uma chave secreta forte para assinatura, escolha um algoritmo HMAC e configure o tempo de expiração. Adicione claims padrão como emissor e audiência. A ferramenta gera um token JWT assinado e exibe o header, payload e assinatura decodificados.
Análise Aprofundada
Padrões de design de claims JWT e gerenciamento do ciclo de vida de tokens:
Claims padrão (RFC 7519) e seu uso adequado:
- iss (Issuer): Identifica quem criou o token. Use a URL ou nome do seu serviço.
- sub (Subject): Identifica o principal (usuário). Use o ID único do usuário, não o email (emails mudam).
- aud (Audience): Identifica os destinatários pretendidos. O verificador deve checar isso para prevenir uso indevido de tokens entre serviços.
- exp (Expiration): Obrigatório para segurança. 15 minutos para access tokens, 7-30 dias para refresh tokens.
- nbf (Not Before): Token não é válido antes deste momento. Útil para tokens pré-emitidos.
- iat (Issued At): Quando o token foi criado. Ajuda com depuração e rejeição baseada em idade.
- jti (JWT ID): Identificador único do token. Essencial para revogação (mantenha uma blacklist de jtis revogados).
Considerações sobre tamanho do token:
- JWTs vão em cada requisição HTTP (tipicamente como Bearer token no cabeçalho Authorization).
- Mantenha payloads pequenos — inclua apenas identificadores e roles, não perfis completos de usuário.
- Um JWT típico tem 300-500 bytes; exceder 1KB deve ser um sinal de alerta.
- Considere: cookies têm limite de 4KB, e alguns proxies/load balancers truncam cabeçalhos grandes.
Melhores práticas de segurança:
- Sempre valide: assinatura, expiração, emissor e audiência
- Use assinatura assimétrica (RS256/ES256) quando múltiplos serviços verificam tokens
- Defina o cabeçalho 'alg' para o algoritmo esperado e rejeite tokens com algoritmo 'none'
- O ataque 'alg: none' foi uma vulnerabilidade devastadora onde servidores aceitavam tokens não assinados
- Para SPAs: armazene tokens em cookies httpOnly Secure, não em localStorage (vulnerável a XSS)
- Implemente rotação de token refresh: cada refresh emite um novo refresh token e invalida o antigo
Exemplos
- Gere um JWT com claims de usuário (sub, role) e expiração de 1 hora para autenticação de API
- Crie um JWT serviço-a-serviço com claims iss e aud para comunicação entre microsserviços
- Gere a JWT with custom permissions claims for role-based access control testing
- Create a short-lived JWT (15 minutes) for a senha reset flow
- Gere a JWT with jti claim for implementing token revocation
Instalar servidor MCP do Toolypet
Adicione as ferramentas do Toolypet ao seu agente de IA com um único comando. Compatível com Claude Desktop, Claude Code, Cursor e qualquer cliente compatível com MCP.
Início rápido
npx -y @toolypet/mcp-server@latest
Configuração do cliente MCP
{
"mcpServers": {
"toolypet": {
"command": "npx",
"args": [
"-y",
"@toolypet/mcp-server@latest"
]
}
}
}Nome da ferramenta:
mcp__toolypet__jwt_generatorExemplo de prompt
Generate a JWT token with payload {sub: '123', role: 'admin'} using HS256Exemplo de Entrada
{
"algorithm": "HS256",
"secret": "my-secret-key",
"payload": {
"sub": "123",
"role": "admin"
},
"expiresIn": "1h"
}Exemplo de Saída
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMiLCJyb2xlIjoiYWRtaW4ifQ.abc123",
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "123",
"role": "admin",
"exp": 1700003600
}
}Perguntas Frequentes
- Qual é a diferença entre HS256 and RS256?
- HS256 usa um segredo compartilhado (simétrico) — a mesma chave assina e verifica. RS256 usa um par de chaves (assimétrico) — a chave privada assina, a chave pública verifica. Use RS256 quando o verificador é um serviço diferente do emissor (ex.: microsserviços), HS256 para cenários de serviço único.
- Quanto tempo should JWT access tokens live?
- 15 minutos a 1 hora para access tokens. Mais curto é mais seguro (limita a janela de comprometimento), mas aumenta a frequência de renovação. Combine com refresh tokens (7-30 dias) para manter sessões sem re-autenticação frequente.
- Devo store JWTs in localStorage or cookies?
- Use cookies httpOnly, Secure, SameSite para aplicações web. localStorage é acessível ao JavaScript, tornando-o vulnerável a ataques XSS. Cookies httpOnly não são acessíveis ao JavaScript, prevenindo roubo de tokens via XSS.
- Como eu revoke a JWT before it expires?
- JWTs são stateless por design, tornando a revogação desafiadora. Opções: (1) tempos de expiração curtos, (2) manter uma blacklist de valores jti revogados no Redis, (3) versionamento de token por usuário, (4) usar tokens opacos com sessões server-side em vez de JWTs.
- O que NÃO devo colocar em um payload JWT?
- Nunca inclua senhas, secrets ou PII sensível (CPF, cartões de crédito). Payloads JWT são codificados em base64, não criptografados — qualquer um pode decodificá-los. Inclua apenas identificadores (ID do usuário), roles e metadados necessários para decisões de autorização.
- Como usar esta ferramenta no Claude/Cursor?
- Você pode usar esta ferramenta via MCP. Adicione o servidor MCP do Toolypet à configuração do seu agente AI com 'npx -y @toolypet/mcp-server@latest'. Depois peça ao seu AI para usar mcp__toolypet__jwt_generator com seus parâmetros.
- O que é MCP e por que o Toolypet o suporta?
- MCP (Model Context Protocol) é um padrão aberto que permite que agentes AI como Claude e Cursor usem ferramentas externas. O Toolypet suporta MCP para que você possa usar todas as mais de 65 ferramentas tanto no navegador quanto através de agentes AI, integrando cálculos e operações perfeitamente ao seu fluxo de trabalho com AI.