Skip to main content

Salvando token no Front-End

  • Salvando token no Front-End

LocalStorage

  • Vulnerabilidade: Qualquer JavaScript na página pode acessar o localStorage. Portanto, se houver uma vulnerabilidade XSS, o atacante pode roubar os tokens.
  • Recomendação: Não armazene tokens no localStorage.

SessionStorage

  • Vulnerabilidade: Dados no sessionStorage são específicos da aba e se apagam quando a aba ou o navegador é fechado. Mas, assim como o localStorage, ainda é vulnerável a XSS.
  • Recomendação: Não armazene tokens no sessionStorage.

IndexedDB

  • Vulnerabilidade: Similar ao localStorage, IndexedDB é acessível por JavaScript e também pode ser comprometido por XSS.
  • Recomendação: Não armazene tokens no IndexedDB.

Em Memória

  • Segurança: Armazenar o token em memória (ex. em uma variável JavaScript) é a solução mais segura, já que ele não é persistente. Porém, isso significa que o token é perdido quando a página é recarregada, o que afeta a experiência do usuário.
  • Solução complementar: Usar service workers pode ajudar a resolver problemas de persistência sem comprometer a segurança.

Cookies

  • Segurança: O uso de cookies com as configurações adequadas (como SameSite=Strict, HttpOnly, e Secure) é a solução mais segura. O atributo HttpOnly impede que o cookie seja acessado via JavaScript, e Secure garante que o cookie só seja enviado via HTTPS.
  • Recomendação: Use cookies para armazenar tokens de forma segura, mas configure-os corretamente.

Session vs JWT

alt text