Em arquiteturas modernas de microsserviços sem estado (stateless) e autenticação OAuth 2.0 / OpenID Connect, os JSON Web Tokens (JWT) servem como o mecanismo padrão para transmitir reivindicações de identidade com segurança entre cliente e servidor.
1. Anatomia do Token em 3 Partes
Uma string JWT consiste em três blocos codificados em Base64URL separados por pontos (.):
2. Claims Registradas Padrão (iss, exp, sub)
iss(Issuer): A entidade que emitiu o token.sub(Subject): O identificador exclusivo do usuário autenticado.exp(Expiration Time): Timestamp Unix após o qual o token deve ser recusado.iat(Issued At): Momento exato em que o token foi criado.
3. Assinatura Simétrica (HS256) vs Assimétrica (RS256)
O HS256 (HMAC-SHA256) utiliza uma única chave secreta compartilhada entre emissor e consumidor. Já o RS256 (RSA-SHA256) usa uma chave privada para assinar e uma chave pública (JWKS) para verificação, permitindo que terceiros validem a integridade sem permissão de emissão.
4. Principais Armadilhas e Falhas de Segurança
Falhas comuns incluem aceitar o cabeçalho "alg": "none", armazenar tokens sensíveis em localStorage (suscetível a XSS) e deixar de validar a assinatura antes de confiar nos dados do payload.