From f1b6ddaed601233da369bd7adc4e2b2256f89404 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Thu, 2 Apr 2026 10:04:58 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Auto-deploy:=20GPI=20atualizado?= =?UTF-8?q?=20em=2002/04/2026=2010:04:58?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/middleware/logtoAuth.ts | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/server/middleware/logtoAuth.ts b/src/server/middleware/logtoAuth.ts index 8616e84..ba5f9b6 100644 --- a/src/server/middleware/logtoAuth.ts +++ b/src/server/middleware/logtoAuth.ts @@ -45,13 +45,35 @@ export async function authenticateRequest(req: any): Promise { } } + // Auto-registro se não encontrar if (!user) { - console.log(`[Auth] Usuário Logto ${logtoId} sem registro no GPI`); - return null; + console.log(`[Auth] Usuário Logto ${logtoId} sem registro no GPI. Criando...`); + + const email = (payload.email as string) || ''; + const name = (payload.name as string) || (payload.username as string) || email.split('@')[0]; + + const { data: newUser, error: createError } = await supabase + .from('users') + .insert({ + email, + name, + logto_id: logtoId, + role: 'user' + }) + .select() + .single(); + + if (createError) { + console.error('[Auth] Erro ao auto-registrar usuário:', createError); + return null; + } + + user = newUser; + console.log(`[Auth] Novo usuário auto-registrado: ${email}`); } return { - id: user.id, + id: user.id || user._id, logtoId: user.logto_id, email: user.email, name: user.name,