Skip to content

migração localStorage → httpOnly cookie #70

Description

@icrcode

Mudança bem controlada — 5 arquivos para modificar.

Backend (3 arquivos):

  • rotas.ts — login e cadastro passam a setar o JWT via Set-Cookie (httpOnly, Secure, SameSite) em vez de retornar no body JSON
  • autenticacao.ts — middleware lê o token do cookie em vez do header Authorization
  • aplicativo.ts — adicionar cookie-parser middleware (já tem credentials: true no CORS)

Frontend (2 arquivos):

  • api.ts — mudar withCredentials: true, remover interceptor que injeta Authorization header
  • AuthContext.tsx — remover localStorage.setItem('token'), usar um endpoint /api/auth/me para verificar se está autenticado (já que o cookie httpOnly não é legível pelo JS)

Impactos adicionais:
Precisa de um novo endpoint GET /api/auth/me que retorna os dados do usuário autenticado
O logout precisa de um endpoint POST /api/auth/logout que limpa o cookie no servidor
Os dados do usuário (localStorage.setItem('usuario')) podem continuar no localStorage — não são sensíveis
O token JWT fica invisível ao JavaScript, eliminando o risco de roubo via XSS.

Metadata

Metadata

Assignees

Labels

wontfixThis will not be worked on

Projects

Status
In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions