# 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.

## 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.

Seu anúncio aqui?

[Envie-nos um e-mail](mailto:hi@dennn.is?subject=Publicidade%20em%20OneClick%20Pro)

[Anúncio O conjunto de plugins pronto para agentes para WordPress.](https://sleekwp.com/?ref=oneclickpro)
