Pular para o conteúdo principal

Fluxo de Autenticação

O sistema de autenticação da QuettaCode utiliza sessões baseadas em cookies com armazenamento em Redis.

Diagrama de Sequência

Componentes

1. Spring Security

Configuração de segurança que protege todas as rotas /api/**.

2. Spring Session (Redis)

Sessões são armazenadas no Redis com TTL configurável.

// Configuração padrão
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400) // 24h

3. Frontend (useLogin Hook)

// apps/web/src/hooks/useAuth.ts
const { login, isLoading } = useLogin();

await login({ email, password });
// Após sucesso: Cookie SESSION é definido
// Redireciona para /dashboard

Fluxo de Logout

Segurança

Importante
  • Senhas são hasheadas com BCrypt
  • Sessões expiram em 24 horas de inatividade
  • Rate limiting de 5 tentativas/minuto no login
  • IP é bloqueado temporariamente após falhas consecutivas

Próximos Passos