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