~/questoes/programacao
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.
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.
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.
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.
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.
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.