Zonesoft
Navistore — SaaS em larga escala
Arquitetura e liderança de frontend do zero — Vue 3, TS, Pinia e Vite. Backend Phalcon → Laravel, PostgreSQL e REST APIs.
Coders Club
Como construir autenticação segura, escalável e aprovada em um pentest de qualidade
auth.alexseixas.com.br
Zonesoft
Navistore — SaaS em larga escala
Arquitetura e liderança de frontend do zero — Vue 3, TS, Pinia e Vite. Backend Phalcon → Laravel, PostgreSQL e REST APIs.
Cápsula digital segura
Plataforma B2C para preservar memórias de família — vídeos, fotos e entrevistas guiadas. Privacidade by design.
Real-time inbound call routing platform
Softphone no browser para agentes licenciados de seguros final expense. Agentes entram online, recebem chamadas, são cobrados por call conectada — arquitetura event-driven, auditável e pronta para white-label.
Como CTO, lidero
Arquitetura modular monolith — auth, routing, billing, telephony Infra AWS completa — ECS Fargate, RDS, SQS + DLQ, CloudFront Contratação, gestão e liderança técnica do time de devs Auth JWT, webhooks idempotentes e billing com ledger imutável Deploy staging/prod, CI/CD e operação do produto como CTOTodo desenvolvedor sabe implementar login.
Poucos sabem explicar por que ele é seguro.
HTTP não guarda memória entre requisições. Cada request é independente.
Autenticação não é apenas login.
É um conjunto de mecanismos para provar identidade, manter contexto e proteger recursos.
Quem é você?
O que você pode fazer?
O browser não recebe os dados do usuário. Ele recebe apenas um identificador de sessão.
A sessão real fica no servidor, geralmente em memória, Redis, banco ou storage distribuído.
| Stack | Cookie |
|---|---|
| PHP | PHPSESSID |
| Java | JSESSIONID |
| ASP.NET | ASP.NET_SessionId |
| Laravel | laravel_session |
| Express | connect.sid |
As stacks mudam, mas o conceito é o mesmo: o cookie carrega um identificador e o servidor resolve quem é o usuário.
O PHP cria uma sessão no servidor e envia um cookie PHPSESSID ao navegador.
Cookie é armazenamento.
Não é, sozinho, um mecanismo de segurança.
Cookie pode ser roubado, manipulado, mal configurado ou enviado automaticamente em contextos perigosos.
XSS acontece quando um atacante consegue executar JavaScript dentro da sua aplicação.
A defesa correta é em camadas.
Usuário está logado no banco. Abre outro site malicioso. Esse site dispara um POST para o banco. O browser envia os cookies automaticamente.
Session Fixation ocorre quando o atacante força ou reutiliza um session_id conhecido e faz a vítima autenticar nele.
Session Hijacking é o roubo ou uso indevido de uma sessão válida.
Causas
Mitigações
JWT é um token assinado composto por Header, Payload e Signature.
xxxxx.yyyyy.zzzzz
Não coloque dados sensíveis no payload.
O payload pode ser alterado, mas a assinatura deixa de ser válida.
Não existe armazenamento perfeito. Existe trade-off.
Senha nunca deve ser salva em texto puro. Também não deve ser salva com MD5, SHA1 ou SHA256 simples.
Tenta adivinhar senhas repetidamente.
Usa credenciais vazadas de outros serviços.
Descobre quais usuários existem no sistema.
Explora diferenças de tempo na validação.
Testa poucas senhas comuns em muitos usuários.
Reutiliza tokens ou requisições capturadas.
Manipula queries para bypass de autenticação.
Resposta ruim
Usuário não encontrado
Senha inválida
Resposta correta
Credenciais inválidas
MFA adiciona uma segunda prova de identidade.
SMS é melhor que nada, mas não é o fator mais forte.
OAuth 2.0 é um protocolo de autorização. Permite que uma aplicação acesse recursos em nome do usuário sem receber a senha dele.
OIDC adiciona identidade sobre OAuth 2.0.
| Stack | Sessão | CSRF / JWT |
|---|---|---|
| Java / Spring | JSESSIONID | CSRF padrão; JWT em APIs |
| PHP | PHPSESSID | Framework-dependent |
| Laravel | laravel_session | CSRF nativo; Sanctum/Passport |
| ASP.NET Core | Cookie Auth | Identity; JWT Bearer; Anti-forgery |
| Node/Express | connect.sid | Passport.js; CSRF manual |
O conceito é igual. O risco muda quando o framework deixa decisões de segurança para o desenvolvedor.
Você foi contratado para desenhar o login de um banco digital.
Autenticação segura não é instalar uma biblioteca.
É entender identidade, sessão, token, browser, ataque, defesa e trade-offs.
auth.alexseixas.com.br
Coders Club — Alex Seixas