Olá, Letícia!
Realmente, o uso do localStorage
para armazenar informações sensíveis, como tokens de autenticação, não é considerado uma boa prática por questões de segurança. O localStorage
é vulnerável a ataques XSS (Cross-Site Scripting), o que pode expor essas informações. Mas usamos o localStorage para fins didáticos mesmo.
Podemos:
Utilizar cookies com a flag HttpOnly
e Secure
é uma alternativa mais segura. Esses cookies não são acessíveis via JavaScript, o que reduz o risco de exposição em ataques XSS. Além disso, a flag Secure
garante que os cookies só sejam enviados em conexões HTTPS.
Utilizar tokens de acesso com um tempo de vida curto e implementar a renovação desses tokens usando um refresh token. O refresh token pode ser armazenado em um cookie seguro, enquanto o token de acesso pode ser mantido em memória.
Se você tá utilizando Keycloak, ele fornece suporte para OpenID Connect e OAuth 2.0, que são padrões robustos para autenticação e autorização. Você pode configurar Keycloak para emitir tokens JWT (JSON Web Tokens) e usar cookies seguros para armazenar esses tokens.
Um abraço e bons estudos.