ANÚNCIO

~/questoes/programacao

Quais são as três partes que compõem um JSON Web Token (JWT)?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Para fixar

As três partes fundamentais de um JWT

Conceito central

Um JSON Web Token (JWT) é dividido em três componentes essenciais que trabalham juntas para criar um token seguro e auto-contido. Cada parte tem uma função específica: armazenar metadados, guardar os dados do usuário e garantir que o token não foi alterado.

Por que essa resposta faz sentido

Header, payload e signature são as três partes de um JWT. O header contém informações sobre o tipo de token e o algoritmo usado para assiná-lo, o payload armazena os dados do usuário (como ID ou email), e a signature é a assinatura criptográfica que prova a autenticidade do token.

Armadilhas comuns

  • Confundir as partes de um JWT com os dados que ele contém. O payload pode incluir usuário e data de expiração, mas essas não são as três partes estruturais.
  • Pensar que a chave secreta é uma 'parte' do JWT. A chave secreta fica no servidor e é usada para criar e validar a signature, mas nunca é transmitida dentro do token.
  • Acreditar que um JWT precisa armazenar senhas. De fato, um JWT nunca deve conter a senha do usuário; ele contém apenas um identificador e dados públicos ou semi-públicos sobre o usuário.

Entenda as alternativas

A

Essa alternativa mistura conceitos de sessão tradicional com JWT. Identificador e timestamp podem estar no payload, mas 'senha criptografada' nunca deve estar em um JWT, pois comprometeria a segurança. A estrutura real é bem diferente.

B

Embora algoritmo e chave secreta sejam importantes para criar um JWT, eles não são 'partes' do token em si. O algoritmo fica no header, a chave secreta fica no servidor (nunca no token), e os dados do cliente ficam no payload. A decomposição está incorreta.

C

Header, payload e signature são exatamente as três partes de um JWT. Essa estrutura em três componentes é o padrão universal de JWT, permitindo que o token seja auto-contido e verificável sem depender do servidor para armazenar dados de sessão.

D

Usuário, autorização e data de expiração são conceitos que podem estar contidos no JWT, mas não descrevem sua estrutura. A data de expiração, por exemplo, fica dentro do payload. Essas não são as partes técnicas que formam um JWT.

Dica prática: Quando receber um JWT, você pode decodificá-lo facilmente separando-o pelos pontos (.). A primeira parte é o header em Base64, a segunda é o payload em Base64, e a terceira é a signature. Teste isso em um site como jwt.io para visualizar o conteúdo real de um token.

Revise pensando: Se um JWT tem três partes, qual delas você poderia ler sem ter a chave secreta, e qual precisa da chave para ser validada?