Pular para o conteúdo

Verificador de JWT

Verifique se um Web Token JSON é autêntico e ainda está válido. Cole o token junto com o segredo HMAC, uma chave pública PEM, um certificado, uma JWK ou um JWKS completo. O verificador confere a assinatura com a biblioteca jose, compara exp e nbf com a hora atual e uma tolerância de relógio opcional e apresenta um resultado claro ao lado do cabeçalho e das declarações decodificados. Tokens com alg none são recusados.

Redefinir

Perguntas frequentes

O que o verificador confere?

Ele confere a assinatura com a chave fornecida e, em seguida, compara as declarações exp e nbf com a hora atual. O resultado só é válido quando a assinatura corresponde e nenhuma das verificações de horário falha. Declarações como iss, aud ou sub são exibidas na carga útil, mas não são comparadas com valores esperados.

Quais chaves posso colar?

Para HS256, HS384 e HS512, cole o segredo compartilhado como texto ou como uma JWK oct. Para tokens RSA, EC e EdDSA, cole uma chave pública PEM (SPKI ou PKCS #1), um certificado X.509, uma JWK pública ou privada, uma JWKS com até 50 chaves ou uma chave privada PEM, da qual apenas a parte pública será usada.

Como a chave certa é escolhida em uma JWKS?

Se o cabeçalho do token tiver um kid, será usada a chave com o mesmo kid no conjunto, e um erro indicará o kid quando não houver correspondência. Sem um kid, o conjunto deve conter exatamente uma chave. Isso reproduz a forma como a maioria dos servidores seleciona chaves em um documento jwks_uri.

O que faz a opção de algoritmo?

Com Use the token's alg, o algoritmo vem do cabeçalho do token, mas a chave ainda precisa ser compatível com ele; portanto, uma chave pública RSA nunca pode ser usada como segredo HMAC. Escolha um algoritmo específico para também exigir que o token o utilize, como um servidor deve fazer ao fixar o algoritmo esperado. Um token com outro alg será rejeitado, e ambos os nomes serão exibidos.

Por que um token com alg none é recusado?

Um token com alg none não tem assinatura, então não há nada a verificar e qualquer pessoa poderia tê-lo criado. Aceitar esses tokens é uma vulnerabilidade conhecida em bibliotecas JWT. O verificador informa um erro em vez de apresentar um resultado válido.

Como funcionam exp, nbf e a tolerância do relógio?

Um token é considerado expirado quando exp é igual ou anterior ao horário atual, e ainda não é válido quando nbf é posterior ao horário atual. A tolerância do relógio, de 0 a 3600 segundos, amplia ambas as verificações para compensar diferenças entre os relógios dos servidores. Claims presentes que não sejam numéricas invalidam o token.

O que significa uma assinatura inválida?

O token não foi assinado com a chave fornecida, ou seu cabeçalho ou payload foi alterado após a assinatura. Confira se você colou a chave pública ou o segredo correspondente, incluindo todos os caracteres exatos, e se copiou o token por inteiro. O cabeçalho e o payload decodificados continuam sendo exibidos para que você possa compará-los.

Quais algoritmos são compatíveis?

HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 e EdDSA com chaves Ed25519. As chaves RSA devem ter pelo menos 2048 bits. Tokens criptografados (JWE) não são descriptografados.

O token ou a chave são armazenados?

Não. O token e a chave são usados apenas nesta verificação, na memória, e nunca são registrados nem salvos. Uma chave pública pode ser compartilhada com segurança, mas tenha cuidado com segredos HMAC e troque qualquer segredo que você suspeite ter sido exposto.

Qual pode ser o tamanho do token e da chave?

Os tokens podem ter até 65,536 caracteres, e o campo da chave, até 262,144 caracteres, o que comporta documentos JWKS grandes. O token deve ter três partes base64url separadas por pontos, um cabeçalho JSON com um membro alg e um objeto JSON como payload.

Sobre OneClick Pro

OneClick Pro é uma coleção gratuita com mais de 150 ferramentas da Web para o trabalho cotidiano: converter imagens e unidades, formatar e validar código, verificar domínios e SEO, e trabalhar com textos, datas e números. Todas as ferramentas funcionam sem registro ou assinatura, e o que você digita é usado apenas para calcular o resultado e nunca é armazenado. Use o serviço como uma caixa de ferramentas para tarefas pontuais ou salve nos favoritos as ferramentas que você usa todos os dias.