Descrição da ferramenta

Esta ferramenta cria e assina JWTs no seu navegador. Escolha um algoritmo, edite o cabeçalho e o payload como JSON, e o token assinado aparecerá imediatamente. Ela é útil para testar uma API, experimentar uma nova configuração de autenticação ou criar um token para um ambiente local. Tudo acontece no seu navegador usando a Web Crypto API, e seus segredos e chaves não são enviados para nenhum lugar.

Ao abrir a ferramenta, ela gera um segredo aleatório e cria um novo par de chaves na primeira vez que você escolhe um algoritmo que precisa de um, para que você obtenha um token funcional sem precisar preparar nada. Cole seu próprio segredo ou sua chave privada para criar tokens aceitos pelo seu servidor.

Recursos

  • Assina com HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 e EdDSA (Ed25519).
  • Aceita o segredo HMAC como texto, Base64 ou hexadecimal e avisa quando ele é menor do que o permitido pela RFC 7518, tamanho que muitas bibliotecas recusam.
  • Lê chaves privadas como PKCS #8 PEM (BEGIN PRIVATE KEY), PKCS #1 PEM (BEGIN RSA PRIVATE KEY), SEC 1 PEM (BEGIN EC PRIVATE KEY) ou JWK.
  • Exibe a chave pública como PEM e como JWK com kid, use e alg, pronta para ser adicionada a um JWKS.
  • Define exp, iat, nbf e um jti aleatório quando o token é assinado e exibe os horários de assinatura e expiração no seu fuso horário.
  • Explica o que há de errado com uma chave: uma chave pública em vez de uma privada, uma chave do tipo ou da curva incorreta, uma chave RSA com menos de 2048 bits ou uma chave protegida por senha.
  • Mantém uma chave para cada tipo de chave, para que você possa alternar entre RS256 e ES256 sem perder a chave colada.
  • Cria tokens não assinados com alg definido como none, para testar se o seu servidor os rejeita.

Exemplos

Com HS256, o cabeçalho {"typ": "JWT"}, o payload {"sub": "1234567890", "name": "Jane Doe"} e a opção "Expira em" definida como 1 hora, o payload assinado se torna:

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "iat": 1790000000,
  "exp": 1790003600
}

Dicas

O token é assinado novamente sempre que você altera alguma coisa, portanto iat e exp sempre contam a partir do horário atual. Use o botão abaixo do token para assiná-lo novamente sem alterar nada.