O que é um JWT (JSON Web Token)?
Publicado a 05/09/2025 · 2 min de leitura · Ferramentas para programadores
Daniel Okonkwo — Programador front-end e redator de Tecnologia na OneKitly
Desempenho web · Formatos de ficheiro
Verificado a partir de 2 fontes
Um JSON Web Token (JWT) é um token compacto e assinado que transporta informação entre partes em três partes Base64url separadas por pontos: header.payload.signature. O payload contém «claims» como um ID de utilizador e uma expiração; a assinatura prova que o token não foi adulterado. É legível por qualquer um, por isso nunca ponha segredos — a assinatura protege a integridade, não a confidencialidade.
Um JWT é um token compacto e assinado que transporta identidade entre serviços. Eis as suas três partes, o uso para autenticação e os limites de segurança.
O que é um JWT
Um JWT é um token autónomo que um servidor pode entregar a um cliente para provar quem é, sem guardar uma sessão no servidor. Parece uma longa cadeia de três blocos separados por pontos. Como transporta os seus próprios claims assinados, qualquer serviço que confie na chave de assinatura pode verificá-lo sozinho — o que o torna popular para autenticação sem estado entre APIs.
As três partes
Dividido pelos pontos, um JWT tem um header, um payload e uma assinatura, cada um em Base64url. O header nomeia o algoritmo de assinatura e o tipo de token. O payload contém os claims — padrão como sub (sujeito), exp (expiração) e iat (emitido em), mais campos personalizados. A assinatura é calculada sobre o header e o payload com uma chave secreta ou privada, por isso adulterar qualquer um quebra-a.
Como se usa
Num fluxo típico, inicia sessão, o servidor assina um JWT com a sua identidade e uma expiração, e devolve-o. A sua app anexa-o a cada pedido, normalmente no cabeçalho Authorization como token «Bearer». O servidor revê a assinatura e a expiração em cada pedido em vez de procurar uma sessão, o que escala bem entre vários serviços que partilham a chave.
Notas de segurança
Um JWT é assinado, não encriptado, por isso qualquer um que o tenha pode descodificar e ler o payload — nunca guarde palavras-passe ou dados sensíveis aí. Verifique sempre a assinatura no servidor e rejeite tokens expirados; um token que não verifica não prova nada. Mantenha expirações curtas e, como um token válido dá acesso até expirar, guarde-o com cuidado e tenha forma de revogar ou rodar chaves.
Perguntas frequentes
- Um JWT está encriptado?
- Não, por padrão. O payload está só em Base64url e qualquer um o pode ler. A assinatura protege a integridade, não a privacidade.
- Posso pôr uma palavra-passe num JWT?
- Não. Qualquer um pode descodificar o payload, por isso inclua só claims não sensíveis como um ID e uma expiração.
- Quais são as três partes de um JWT?
- Header, payload e assinatura — cada um em Base64url e unidos por pontos.
Artigos que podem interessar-lhe
Todos os guias →Ferramentas relacionadas
Fontes
Detetaste um erro neste artigo?