auth: evitar loop login<->dashboard para sessão de máquina\n\n- Login direciona máquina para portal (ou dashboard se manager)\n- Middleware redireciona máquina colaborador do dashboard para /portal/tickets\n- Middleware evita mostrar login quando já autenticado como máquina
This commit is contained in:
parent
f2e25dfe4d
commit
05ffdf7876
2 changed files with 29 additions and 1 deletions
|
|
@ -25,7 +25,17 @@ export function LoginPageClient() {
|
|||
useEffect(() => {
|
||||
if (isPending) return
|
||||
if (!session?.user) return
|
||||
const destination = callbackUrl ?? "/dashboard"
|
||||
const role = (session.user.role ?? "").toLowerCase()
|
||||
const persona = (session.user as any).machinePersona
|
||||
? String((session.user as any).machinePersona).toLowerCase()
|
||||
: null
|
||||
const defaultDest =
|
||||
role === "machine"
|
||||
? persona === "manager"
|
||||
? "/dashboard"
|
||||
: "/portal/tickets"
|
||||
: "/dashboard"
|
||||
const destination = callbackUrl ?? defaultDest
|
||||
router.replace(destination)
|
||||
}, [callbackUrl, isPending, router, session?.user])
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue