Frontend — hardening sessão (Fase 4)
Complementa a Fase 3 com proteção de rotas, refresh JWT e health do auth na tela de login.
P4-09 — AuthGuard
app-routing.module.ts:canActivate+canActivateChildnoDefaultLayoutComponentauth.guard.ts: valida token nolocalStorage; confirma sessão viaGET /user; redireciona para/loginem 401/403
P4-10 — Refresh JWT
auth.interceptor.ts: falha de refresh em/userencerra sessão e redireciona (não reutiliza token expirado)- Ignora
external-loginno tratamento de 401
P4-11 — Health na login
auth-health.service.ts:GET {authUrl}/actuator/health(headerX-Skip-Interceptor)login.component: alerta e desabilita botões se auth estiver down
Status do desenvolvimento (código)
- [x] P4-09 AuthGuard em rotas do layout (
auth.guard.ts+app-routing.module.ts) - [x] P4-10 Refresh JWT / encerramento de sessão no interceptor (
auth.interceptor.ts) - [x] P4-11 Health na tela de login (
auth-health.service.ts) - [ ] Validação visual AuthGuard no browser (redirect sem token) — pendente manual em homolog
- [ ] Smoke Microsoft/Google no browser após hardening — pendente manual
Verificação rápida
# Sem token → redirect login
curl -s -o /dev/null -w '%{http_code}\n' http://localhost/ecosif-masterdata/user # 401
# Health auth via proxy Angular
curl -s http://localhost/ecosif-auth/actuator/health | grep UP
# Login local após signin
# Navegar /dashboard com JWT válido → AuthGuard permite