Lição 1

O que é um JWT?

Entenda o formato compacto de JWT e onde desenvolvedores o encontram.

Um JSON Web Token, em geral abreviado JWT, é uma string compacta usada para transportar claims JSON entre sistemas. Você vê JWTs em requisições de API, armazenamento do navegador, cookies, fluxos OAuth e autenticação serviço a serviço.

Os três segmentos

Um JWT compacto tem três partes separadas por ponto:

header.payload.signature
  • O header descreve o tipo do token e o algoritmo de assinatura.
  • O payload contém claims: fatos que o token carrega.
  • A assinatura permite ao verificador detectar adulteração quando tem a chave certa e regras de validação.

Os dois primeiros segmentos são JSON em Base64URL — feitos para transporte fácil, não para ficarem ocultos.

JWTs são legíveis

Qualquer pessoa com a string do token pode decodificar header e payload. Por isso segredos sensíveis não devem ir no payload salvo se o token não for criptografado por outro mecanismo.

JWTs são úteis por serem compactos

JWTs são populares porque cabem naturalmente em cabeçalhos HTTP e são fáceis de verificar em sistemas distribuídos sem consulta central de sessão. Essa conveniência cria risco quando aplicações pulam verificação ou confiam nas claims erradas.

Voltar à visão geral do curso