Esta ferramenta gera tokens de uso único de alta entropia para cenários específicos de segurança web. Diferente de um gerador genérico de strings aleatórias, cada cenário aplica automaticamente as convenções corretas.
Cenários:
- Token CSRF: um token opaco vinculado à sessão do usuário e enviado com requisições que alteram estado (formulários, AJAX) para provar que a requisição veio da sua própria página.
- State OAuth/OIDC: um valor não adivinhável enviado ao servidor de autorização e validado no callback de redirecionamento, vinculando a resposta a esta requisição e prevenindo login CSRF.
- Nonce de Sessão: um valor aleatório de uso único vinculado a uma sessão para evitar o replay de uma requisição.
- PKCE Verifier + Challenge: gera um
code_verifier (mantido no cliente) e deriva o code_challenge = base64url(SHA256(verifier)) (enviado ao servidor de auth) conforme RFC 7636, de modo que um código de autorização vazado não possa ser trocado sem o verifier. PKCE força codificação base64url e comprimento de verifier de 32-96 bytes (43-128 caracteres base64url).
- Personalizado: um token opaco genérico de alta entropia para qualquer cenário de uso único que você defina; o comprimento em bytes é controlado pelo usuário (8-128).
Opções:
- Comprimento em bytes: bytes de entropia. Fixado em 32 (256 bits) para todos os cenários predefinidos; editável (8-128) apenas em Personalizado.
- Codificação: base64url (seguro para URL, padrão para tokens web), hex ou base64. Forçado para base64url em PKCE.
- Adicionar prefixo de timestamp de expiração: antepõe
base36(segExpiração).token para que o servidor possa rejeitar tokens expirados sem estado (padrão recomendado pela OWASP).
- TTL (segundos): janela de validade usada pelo prefixo de timestamp.
- Quantidade: gerar 1-50 tokens de uma vez.
Segurança: a aleatoriedade vem de crypto.randomBytes() do Node — nunca Math.random(). O challenge PKCE usa SHA-256 via crypto.createHash(). Esta ferramenta apenas gera material de token; não armazena nem valida tokens no servidor.