Gerador de Payload e Construtor de Claims JWT (Padrões RFC 7519) Guia do Desenvolvedor

Gerador de Payload e Construtor de Claims JWT (Padrões RFC 7519) Guia do Desenvolvedor

Projete claims JWT registrados e personalizados sob RFC 7519 com calculadoras de timestamp para exp, nbf, iat, jti e tags de audiência.

Presets label
Registered claims
7 / 7 configured
StringOrURI
Principal ID
Target APIs / Clients
https://api.toolsaa.com/v1https://billing.toolsaa.com
In 1h
Quick Lifespan:
Custom claims
Templates:
{
  "iss": "https://auth.toolsaa.com",
  "sub": "usr_89f72b10",
  "aud": [
    "https://api.toolsaa.com/v1",
    "https://billing.toolsaa.com"
  ],
  "exp": 1792178371,
  "nbf": 1792174771,
  "iat": 1792174771,
  "jti": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  "scope": "read:profile write:workspace admin:billing",
  "client_id": "spa_client_prod_442"
}
Stat status
7 / 7 Claims

Standard iss, sub, aud, exp, nbf, iat, jti validation

Stat lifespan
In 1h

Second-level Unix epoch precision

Stat payload size
305 Bytes

~3.7% of 8KB HTTP header buffer

Client-Side Processing

High-performance processing executed entirely in browser memory.

Zero Server Upload Privacy

All data payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Referência técnica e guia de arquitetura

Gerador de Payload e Construtor de Claims JWT (Padrões RFC 7519) Guia do Desenvolvedor — Guia de referência

Projete claims JWT registrados e personalizados sob RFC 7519 com calculadoras de timestamp para exp, nbf, iat, jti e tags de audiência.

Parâmetros principais e controles

iss (Issuer / Emissor)string

Identifica o emissor do JWT (geralmente a URI do provedor de autenticação ou IdP).

Padrão: https://auth.example.com
sub (Subject / Assunto)string

Identifica a entidade principal do token (UUID do usuário ou ID de conta de serviço).

Padrão: usr_94b3a8c1-5e2b
aud (Audience / Audiência)string | string[]

Identifica os destinatários pretendidos para o token. O servidor de recursos deve validar se sua identidade está contida nesta claim.

Padrão: https://api.example.com/v1
exp (Expiration Time / Expiração)integer (Unix timestamp em segundos)

Data/hora após a qual o JWT deve ser obrigatoriamente rejeitado (NumericDate RFC 7519 em segundos).

Padrão: 1776435600
jti (JWT ID / Identificador Exclusivo)string

Identificador único do token para mitigar ataques de repetição e gerenciar listas de revogação.

Padrão: b9c8d6e4-4a2f-48d1-912b-3e5f7a1c8d9e

Dicas profissionais e melhores práticas

Use Segundos Unix em vez de Milissegundos

A RFC 7519 exige NumericDate estritamente em segundos desde a época Unix. Passar 'Date.now()' do JavaScript sem dividir por 1000 causa tokens válidos por milhares de anos ou falha imediata em bibliotecas como jose e jsonwebtoken.

Mantenha o Payload Enxuto para Evitar Erros 431

O JWT é enviado no cabeçalho Authorization em todas as requisições. Evite matrizes extensas de permissões ou dados de perfil para não estourar o limite de 8KB imposto por proxies como Nginx e Cloudflare.

Configure Tolerância de Clock Skew na Validação

Servidores distribuídos frequentemente possuem discrepâncias de alguns segundos via NTP. Sempre configure uma tolerância (leeway) de 30 a 60 segundos no middleware de verificação para evitar falsos erros de expiração.

Problemas comuns e solução de problemas

Token é rejeitado na hora com 'TokenExpiredError'

Verifique se a claim 'exp' foi gerada em milissegundos. Utilize 'Math.floor(Date.now() / 1000) + ttl' e configure uma tolerância de 60 segundos no servidor de validação.

Assinatura é válida mas a API retorna 'jwt audience invalid' (401/403)

O servidor de destino exige que seu identificador coincida com o valor da claim 'aud'. Alinhe a string com o client ID esperado ou use uma lista de strings se múltiplos serviços consumirem o token.

Perguntas frequentes (FAQ)

Qual a diferença entre claims Registradas, Públicas e Privadas na RFC 7519?▼

Claims registradas (iss, sub, aud, exp, nbf, iat, jti) são reservadas pela IANA para interoperabilidade e segurança. Claims públicas são registradas na IANA ou definidas por URIs à prova de colisão. Claims privadas são campos customizados acordados entre clientes e servidores (ex: 'role', 'tenant_id').

Por que o padrão RFC 7519 utiliza segundos em vez de milissegundos para timestamps?▼

Para conformidade com o formato POSIX e redução do tamanho final do JSON transmitido nos cabeçalhos HTTP.

É seguro incluir senhas ou dados sigilosos no payload do JWT?▼

Não. Um token assinado (JWS) é apenas codificado em Base64URL e pode ser lido por qualquer interceptador. Para proteger dados confidenciais, utilize JWE (JSON Web Encryption, RFC 7516).

Como a claim 'jti' impede ataques de repetição (replay attacks)?▼

Ao associar um UUID único a cada token emitido, o servidor pode registrar o 'jti' utilizado em um cache rápido (como Redis) até a expiração de 'exp'. Tentativas subsequentes com o mesmo 'jti' são bloqueadas.

Ferramentas e utilitários relacionados

Todas as ferramentas →