ANÚNCIO

~/questoes/programacao

Por que JWT (JSON Web Tokens) é amplamente utilizado em APIs REST?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Nest.js e API REST: Autenticação e Autorização na Prática
Para fixar

Por que JWT é Amplamente Utilizado em APIs REST

Conceito central

JWT (JSON Web Tokens) é um padrão de autenticação que permite verificar a identidade do usuário sem que o servidor precise guardar informações de sessão em memória. Isso torna a aplicação mais escalável, especialmente em ambientes com múltiplos servidores.

Por que essa resposta faz sentido

JWT funciona como um token autocontido que carrega as informações do usuário criptografadas. O servidor não precisa buscar dados de sessão em um banco compartilhado, o que facilita distribuir a aplicação entre vários servidores e melhorar a escalabilidade horizontal.

Armadilhas comuns

  • Confundir JWT com armazenamento de sessão: JWT é o oposto disso, ele elimina a necessidade de sessões no servidor.
  • Achar que JWT resolve todos os problemas de segurança: JWT é parte da solução, mas precisa trabalhar junto com HTTPS, validação de entrada e hash de senhas.
  • Pensar que refresh tokens são redundantes: eles são essenciais para manter a segurança, permitindo que o JWT principal tenha uma vida útil curta.

Entenda as alternativas

A

Exatamente isso. JWT permite autenticação sem estado porque o token em si contém todas as informações necessárias. O servidor valida o token, mas não precisa armazenar sessões, o que é perfeito para arquiteturas distribuídas e microsserviços.

B

Isso é o oposto do que JWT faz. JWT foi criado justamente para eliminar a necessidade de manter sessões em memória compartilhada. Quando você usa memória compartilhada para sessões, a aplicação fica acoplada a um servidor específico e difícil de escalar.

C

JWT e refresh tokens trabalham juntos, não um substitui o outro. O refresh token é necessário para renovar a sessão de forma segura quando o JWT principal expira. Essa combinação é uma boa prática, não uma redundância.

D

JWT não garante segurança de senhas por si só. A segurança das senhas depende de como elas são armazenadas no banco (com hash, de preferência usando bcrypt). JWT apenas criptografa o token, não as senhas originais.

Dica prática: Ao implementar autenticação em uma API, pense assim: JWT é ideal quando você tem múltiplos servidores ou precisa escalar horizontalmente. Se sua aplicação é simples e roda em um único servidor, sessões tradicionais também funcionam, mas JWT é sempre uma escolha moderna e escalável.

Revise pensando: Se você tiver 3 servidores diferentes rodando sua API e um usuário faz login no servidor 1, por que JWT facilita o acesso aos servidores 2 e 3 sem compartilhar memória?