O que é um JWT?
Um JWT (JSON Web Token) é um formato comum de token de login. Ele tem três partes em Base64URL separadas por pontos: header.payload.signature. O header indica o algoritmo de assinatura, o payload traz "claims" como o usuário e a data de expiração, e a assinatura prova que o conteúdo não foi alterado.
Como usar
- Cole um JWT à esquerda (pode começar com
Bearer). O header, o payload e o status de expiração aparecem à direita. iat(emitido em),nbf(válido a partir de) eexp(expira em) aparecem como datas no seu fuso horário.- Para HS256, HS384 e HS512, digite a chave secreta para verificar a assinatura.
Exemplo
O token carregado em "Carregar exemplo" tem este payload:
{
"sub": "1234567890",
"name": "Mike",
"role": "admin",
"iat": 1700000000,
"exp": 4102444800
}
É um token HS256 assinado com a chave secreta toolpivo-secret.
Perguntas frequentes
O conteúdo de um JWT é criptografado?
Não. O header e o payload são apenas codificados em Base64URL, então qualquer pessoa com o token consegue lê-los. Nunca coloque senhas ou outros segredos no payload. A assinatura prova que o conteúdo não foi alterado; ela não o esconde.
É seguro colar um token aqui?
A decodificação e a verificação acontecem no seu navegador. O token e a chave secreta nunca são enviados a um servidor e não ficam salvos no navegador. Mesmo assim, deixe os tokens de produção expirarem depois de usá-los.
Por que não dá para verificar RS256?
RS256, ES256 e algoritmos parecidos assinam com uma chave privada e são verificados com a chave pública do emissor. Por enquanto, esta ferramenta aceita HS256, HS384 e HS512, que usam a mesma chave secreta para assinar e verificar.
Em que unidade está o exp?
Pelo padrão JWT (RFC 7519), exp, iat e nbf são timestamps Unix em segundos, não em milissegundos.