From 4b927e9d9eedb887b6163358a9f64ce2c230f6e2 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 30 Aug 2026 10:41:20 -0300 Subject: [PATCH] fix(frontend): tela de "Trocar senha" no primeiro acesso MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Achado real reportado pelo usuário testando: todo usuário criado (tenant novo em Clientes > Tenants, ou convite em Administração > Usuários) nasce com mustChangePassword: true (agente.md secao 199), mas POST /api/login simplesmente bloqueava com "use a API /auth/change-password por enquanto" — sem nenhuma tela pra fazer isso. Todo primeiro login de qualquer conta nova batia nessa parede. POST /api/login agora grava o cookie de sessão mesmo com mustChangePassword: true (única forma de chamar /auth/change-password autenticado depois) e devolve o flag pro client, que manda pra /trocar-senha em vez de mostrar erro. Tela nova pede a senha temporária + nova senha (2x), chama POST /auth/change-password, e reaproveita a mesma decisão platform/tenant do login normal (/api/post-login). Testado ponta a ponta com um usuário de teste de verdade (convidado, nunca logado antes): login → /trocar-senha → senha trocada → /app direto. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01BFaBaBSQGhyXGEgtTYZGV8 --- TODO.md | 22 ++++ .../review/trocar-senha-after-desktop.png | Bin 0 -> 69252 bytes .../review/trocar-senha-desktop.png | Bin 0 -> 42217 bytes apps/frontend/src/app/api/login/route.ts | 13 +- apps/frontend/src/app/login/page.tsx | 6 + apps/frontend/src/app/trocar-senha/actions.ts | 31 +++++ apps/frontend/src/app/trocar-senha/page.tsx | 7 + .../app/trocar-senha/trocar-senha-view.tsx | 124 ++++++++++++++++++ 8 files changed, 195 insertions(+), 8 deletions(-) create mode 100644 apps/frontend/.impeccable/review/trocar-senha-after-desktop.png create mode 100644 apps/frontend/.impeccable/review/trocar-senha-desktop.png create mode 100644 apps/frontend/src/app/trocar-senha/actions.ts create mode 100644 apps/frontend/src/app/trocar-senha/page.tsx create mode 100644 apps/frontend/src/app/trocar-senha/trocar-senha-view.tsx diff --git a/TODO.md b/TODO.md index a551552..4149c0e 100644 --- a/TODO.md +++ b/TODO.md @@ -1735,6 +1735,28 @@ secao 96-103, 124, 169) + achado real de autorização em `/ai/models` Regressão: tenant_admin e platform_super_admin continuam vendo TODO item do próprio menu (sem perder nada) +## PHASE 49 — Tela de "Trocar senha" no primeiro acesso (agente.md secao +199) — achado real reportado pelo usuário testando +- [x] achado real: todo usuário criado (tenant novo em Clientes > Tenants, + ou convite em Administração > Usuários) nasce com + `mustChangePassword: true` (secao 199) — mas `POST /api/login` + simplesmente bloqueava com "use a API /auth/change-password por + enquanto", sem nenhuma tela pra fazer isso. Todo primeiro login de + qualquer conta nova batia nessa parede. Descoberto pelo usuário + tentando logar num tenant que ele mesmo criou +- [x] Corrigido: `POST /api/login` agora grava o cookie de sessão mesmo + com `mustChangePassword: true` (única forma de chamar + `/auth/change-password` autenticado depois) e devolve o flag pro + client, que manda pra `/trocar-senha` em vez de mostrar erro. Tela + nova: senha temporária + nova senha (2x, valida no client que + batem e que tem 12+ caracteres) → `POST /auth/change-password` → + mesma decisão platform/tenant do login normal (`/api/post-login`, + reaproveitado) +- [x] Testado ponta a ponta com um usuário de teste de verdade (convidado, + nunca logado antes): login → `/trocar-senha` → senha trocada → + `/app` direto, sem passar pela tela de login de novo. Usuário de + teste removido no final + --- ## Riscos conhecidos diff --git a/apps/frontend/.impeccable/review/trocar-senha-after-desktop.png b/apps/frontend/.impeccable/review/trocar-senha-after-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..06a7e92822fe69003123c0f6e81cc310d2feab86 GIT binary patch literal 69252 zcmb@Og;!KtANTR1ARwS1U00EAkZzFfZV-{~Zbm^sTBN(28EQc3MnJlU?v9bpA!pv> z^W6LV0q^_HTCBC#S;Id2?6ZHdKfmvuC{1+*d|XOg3=9l>CB-+|7#NT8F)%PcJ^l;0 zGRyTK90TJihSD2pUBB%8C2UjT9V+Z&!B_h*-Z!bym~!rG%Ym+Y75Xq^0~k!tF%p(@ z<2p6(kmfzpid+s{Bh`|Ydyv5zxP^X&y^|>SSN5x$+f>5VKu_PsUx9urfrqWg_a2Se z4_Z=Wx(ZoSd~Jby0-v`xL*)N$VSI>^4aNMYtx8Ko{ZI4l>6g`inixru53&Dgr;EK3 z`ltDG^F_ylf7*w2CTm9EZSXS{q^F#U;$(&d$DjHZU}7tx-rc&?rjZ`v4>S1CJ0! z?BLx>s!*feLY-&3@^yHOK}pcfjwCnFQWK5x5wHJmb}Zm&8D6~P9hvSKsHvjjEy-ww zr4+TsCCOTb*vT22LGJo^OD3nMd0+D8KENO+5EsITR=9_l9Ysj2LL8^c^(Bihdy{$_ z8dEL*%-cR@hLs4rjn^)DarV>;H2z; z#iwa!_#E>?Jryt+-S&GC4CkIl+x`8-3QNs&sH0PF)9aq$=72UnI8-~VqBVj>EGU#s zRb46Lq&s2Cp|(`7{l0g?#-cSOYh`3GO^Hr5TZ<)su9y(QC;{q78{9f=Y`@cL_1SB~ z?9CPn{>T;^9iJiQt^ZcDIbygOB;h!6M#j~6s*+ZTPj{hpT^g5Jd)T@=N@DuLw+yd! zX%=VVzEluQWQR{GpG_~areR9K`g>VUAF6XhsZ z4Z)}6FK%|}sv~9^Jt;$rp}FwzJQc752V(D9HznJGb`HbHxGbDC+b;{~nXn0H$msGE z!)2GVYMi=neo{^?E}4dywCvMwJ*Gq;DCm3Dde_+nerbhU_`BW(T38dF9YLJl1d7wHmb;p)~cH6#==^$ad8gpe*h?K)? zE9&X+wa{SG8;G(9KJSyJiw!}p6)}C3J_xN`+8hk~jm3FuORJ{Ke00|C52BU`h_3TI zflvK7BD_CYpwN{#UOLIDKg>8=8sfE9rkSr!tz$`4?4*;QEL}l$cCQwM-MB3j)W*{+ z+PT_h<>a(FBBfoq5{hmGwUxJi7Hr&O#aaJZc#pJfUcM?f9LKV+eu9y&2{@9c&kSUt zP}`u(DUIX^zo(a<*_71P3s&MNCmX%4jhi{cvU8}ZrYrf@!q%pz^%tXQX%Ekvvm>eQ zx0~$U7MIK#qm)U45x&1BieGI(m@N|x%tHu8JuYrw09%%gNqUY zhsGR!=I0oV{L=t$OqS+?px&w{f5wIJ^C94}{*JaCeYabm2F1QNuW~wQ!e8iZldO?# zCWVfgXWtIeE%I7`PTX^h`Rkk(&V<$xzLNJhLhJpN?L#(L1wl&c1UgS7bB}J6^z|>N z_UdiX-}B9~w)51o(sL7ef+iLI+-aFzqbPUWHKApX4g-UAS9#|nJ=Ar%F|SC>(Qcy9 zGAw|9E^7~_=r)9Q?k}H{`4chF8ty&H zt+TJ{up)6F;&J3DWgO-7!BRD`j)e8)Y*h6l7Xen+i?Q3a^M&5#?5r$2HL=HmeJLw} z`OKBu7WT;HuGi!3uJ!6P#^OQeZx*mr(md*_YYV3MczHS4hj{v!fklWT>~{R>o>t(S zAR7Tr6qm~)E)EWUnMJ+L@Q2d!@4GjH7ApEWIx7NSFz9P7r9e6cUz$|EKl z*{JFdkY%gGaq0Az9B=1@g(uo?z{V-jNBD?tWtlZ%YC4Uq*7tLiY;1$yMQyJ_E-HHg zZ=#Q?M|5_-4Oju*D^onxGsCVtlE`<9yw0}k3KrC}wT#8)e}@$c`<*|zhq>yulkx?K z-^P7g8GZN8b%_9G*kQYQ{NS~Tv_HBJ5jQKZ_)Gw!b

buRiS@ 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≪s;~L-)~mWR4BigLEcRK6fZYA{alnrQcY}Y_eXy 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src/app/api/login/route.ts b/apps/frontend/src/app/api/login/route.ts index c751fe8..e7387e6 100644 --- a/apps/frontend/src/app/api/login/route.ts +++ b/apps/frontend/src/app/api/login/route.ts @@ -19,14 +19,11 @@ export async function POST(request: Request) { const data = await res.json(); - if (data.mustChangePassword) { - return NextResponse.json( - { message: "Senha precisa ser trocada antes do primeiro acesso (use a API /auth/change-password por enquanto)." }, - { status: 403 }, - ); - } - - const response = NextResponse.json({ ok: true }); + // Sessão gravada mesmo com senha pendente de troca (secao 199) — só dá + // pra chamar POST /auth/change-password autenticado, então o cookie + // precisa existir antes de mandar pra /trocar-senha. `mustChangePassword` + // devolvido aqui é só o sinal pro client escolher a próxima tela. + const response = NextResponse.json({ ok: true, mustChangePassword: Boolean(data.mustChangePassword) }); response.cookies.set(sessionCookieName(), JSON.stringify({ accessToken: data.accessToken, refreshToken: data.refreshToken }), { httpOnly: true, sameSite: "lax", diff --git a/apps/frontend/src/app/login/page.tsx b/apps/frontend/src/app/login/page.tsx index a93371f..4d101e4 100644 --- a/apps/frontend/src/app/login/page.tsx +++ b/apps/frontend/src/app/login/page.tsx @@ -28,6 +28,12 @@ export default function LoginPage() { return; } + const loginBody = await res.json().catch(() => ({ mustChangePassword: false })); + if (loginBody.mustChangePassword) { + router.push("/trocar-senha"); + return; + } + // Decide platform vs tenant (e qual tenant) server-side — nunca no // client, o token de sessão não é legível por JS (ver post-login/route.ts). const postLogin = await fetch("/api/post-login", { method: "POST" }); diff --git a/apps/frontend/src/app/trocar-senha/actions.ts b/apps/frontend/src/app/trocar-senha/actions.ts new file mode 100644 index 0000000..dab4982 --- /dev/null +++ b/apps/frontend/src/app/trocar-senha/actions.ts @@ -0,0 +1,31 @@ +"use server"; + +import { requireSession } from "@/lib/session"; +import { apiFetch, ApiError } from "@/lib/api"; + +function extractErrorMessage(err: unknown): string { + if (err instanceof ApiError) { + try { + const parsed = JSON.parse(err.message); + if (Array.isArray(parsed.message)) return parsed.message.join(" "); + if (typeof parsed.message === "string") return parsed.message; + } catch { + // corpo não era JSON + } + return err.message || "Falha inesperada na API."; + } + return "Falha inesperada. Tente novamente."; +} + +export async function changePassword(currentPassword: string, newPassword: string): Promise<{ ok: true } | { ok: false; error: string }> { + const session = await requireSession(); + try { + await apiFetch("/auth/change-password", session.accessToken, { + method: "POST", + body: JSON.stringify({ currentPassword, newPassword }), + }); + return { ok: true }; + } catch (err) { + return { ok: false, error: extractErrorMessage(err) }; + } +} diff --git a/apps/frontend/src/app/trocar-senha/page.tsx b/apps/frontend/src/app/trocar-senha/page.tsx new file mode 100644 index 0000000..0b90891 --- /dev/null +++ b/apps/frontend/src/app/trocar-senha/page.tsx @@ -0,0 +1,7 @@ +import { requireSession } from "@/lib/session"; +import { TrocarSenhaView } from "./trocar-senha-view"; + +export default async function TrocarSenhaPage() { + await requireSession(); + return ; +} diff --git a/apps/frontend/src/app/trocar-senha/trocar-senha-view.tsx b/apps/frontend/src/app/trocar-senha/trocar-senha-view.tsx new file mode 100644 index 0000000..bb70162 --- /dev/null +++ b/apps/frontend/src/app/trocar-senha/trocar-senha-view.tsx @@ -0,0 +1,124 @@ +"use client"; + +import { useState, useTransition, type FormEvent } from "react"; +import { useRouter } from "next/navigation"; +import Image from "next/image"; +import { Button } from "@/components/ui/button"; +import { changePassword } from "./actions"; + +export function TrocarSenhaView() { + const router = useRouter(); + const [currentPassword, setCurrentPassword] = useState(""); + const [newPassword, setNewPassword] = useState(""); + const [confirmPassword, setConfirmPassword] = useState(""); + const [error, setError] = useState(null); + const [pending, startTransition] = useTransition(); + + function onSubmit(e: FormEvent) { + e.preventDefault(); + setError(null); + if (newPassword.length < 12) { + setError("A nova senha precisa ter pelo menos 12 caracteres."); + return; + } + if (newPassword !== confirmPassword) { + setError("As duas senhas novas não são iguais."); + return; + } + startTransition(async () => { + const result = await changePassword(currentPassword, newPassword); + if (!result.ok) { + setError(result.error); + return; + } + // Mesma decisão platform/tenant do login normal (post-login/route.ts), + // agora que a senha já foi trocada — o cookie de sessão continua o + // mesmo, só o mustChangePassword no banco virou false. + const postLogin = await fetch("/api/post-login", { method: "POST" }); + const postLoginBody = await postLogin.json().catch(() => ({ redirectTo: "/login" })); + if (!postLogin.ok) { + setError(postLoginBody.message ?? "Senha trocada, mas não foi possível continuar. Tente entrar de novo."); + return; + } + router.push(postLoginBody.redirectTo); + router.refresh(); + }); + } + + return ( +

+
+ B2BCall +

Trocar senha

+

+ Esta é a senha temporária gerada na criação da sua conta — escolha uma nova antes de continuar. +

+ +
+
+ + setCurrentPassword(e.target.value)} + disabled={pending} + className="w-full rounded-md border border-input bg-surface px-3 py-2 text-sm text-foreground outline-none ring-offset-background placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring" + placeholder="••••••••" + /> +
+
+ + setNewPassword(e.target.value)} + disabled={pending} + className="w-full rounded-md border border-input bg-surface px-3 py-2 text-sm text-foreground outline-none ring-offset-background placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring" + placeholder="Pelo menos 12 caracteres" + /> +
+
+ + setConfirmPassword(e.target.value)} + disabled={pending} + className="w-full rounded-md border border-input bg-surface px-3 py-2 text-sm text-foreground outline-none ring-offset-background placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring" + placeholder="••••••••" + /> +
+ + {error && ( +

+ {error} +

+ )} + + +
+
+
+ ); +}