Pular para conteúdo

Aula 11 - Refresh Token e Segurança Avançada 🏗️

Blindando sua API contra o mundo


Agenda 📅

  1. O Problema do Token Curto ⏰
  2. Refresh Tokens (O que são?)
  3. CORS: Origens e Destinos
  4. Helmet: Headers de Aço
  5. Rate Limit: Contra Brute Force
  6. Ataques Comuns (XSS, Injection)

1. Por que Tokens Expiram? ⏰

  • Segurança! Se roubarem o token, ele dura pouco.
  • Problema: O usuário odeia fazer login toda hora.

2. Refresh Token 🔁

  • Um token de longa duração (7 dias+).
  • Serve apenas para trocar por um novo Access Token.
  • Deve ser invalidado se o usuário deslogar.

3. CORS: Cross-Origin Resource Sharing 🌍

  • "Quem pode me chamar?".
  • Resolvido via Headers no Servidor.
  • Nunca use origin: '*' em ambientes reais!

4. Helmet: Proteção de Headers 🪖

  • Remove o X-Powered-By (não diz que é Express).
  • Adiciona proteção contra Clickjacking e XSS.

5. Rate Limiting 🔨

  • 5 tentativas de login por minuto? Sim.
  • Evita que robôs tentem descobrir senhas via "força bruta".

6. Onde salvar os Tokens? 🛡️

  • Frontend: LocalStorage? Seguro?
  • Melhor Prática: Cookies HttpOnly + Secure.

7. Melhores Práticas de Segurança 🏆

  1. Use HTTPS sempre.
  2. Valide TODAS as entradas do usuário.
  3. Mantenha as bibliotecas atualizadas.

Desafio de Segurança ⚡

Qual a diferença entre 401 e 403 no contexto de Refresh Tokens? Se eu recebo 401, eu tento o refresh ou deslogo o usuário?


Resumo ✅

  • Refresh Token equilibra UX e Segurança.
  • CORS e Helmet são as portas do seu castelo.
  • Proteja-se contra robôs com Rate Limit.

Próximo Módulo: Front-End Moderno 🎨

Saindo das APIs e indo para a Web!

  • Introdução ao React/Vite.
  • Consumindo nossas APIs no navegador.

Dúvidas? 🏗️