fix: force rebuild and enable insecure cookies for HTTP access v1.1.0
This commit is contained in:
parent
00aeb44baa
commit
42777abf6d
@ -1,3 +1,4 @@
|
||||
# BUILD_ID: 2024-03-27_T14_35_RESET
|
||||
FROM node:20-alpine AS base
|
||||
|
||||
# Install dependencies only when needed
|
||||
|
||||
@ -8,35 +8,40 @@ const ENDPOINT = process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT || 'https://appwrite.
|
||||
const PROJECT_ID = process.env.NEXT_PUBLIC_APPWRITE_PROJECT_ID || '69b84df5003bd8957c5c';
|
||||
const COOKIE_NAME = `a_session_${PROJECT_ID.toLowerCase()}`;
|
||||
|
||||
// Password de emergencia (Lo ideal es que configures ADMIN_PASSWORD en las variables de entorno de Coolify)
|
||||
// Password de emergencia (Configurado en Coolify)
|
||||
const ADMIN_PASSWORD = process.env.ADMIN_PASSWORD || 'AlmeiraAdmin2024*';
|
||||
|
||||
export async function login(prevState: any, formData: FormData) {
|
||||
const emailInput = formData.get('email') as string;
|
||||
const password = formData.get('password') as string;
|
||||
const email = emailInput.trim().toLowerCase();
|
||||
const email = emailInput ? emailInput.trim().toLowerCase() : '';
|
||||
|
||||
console.log('Intentando login para:', email);
|
||||
// LOG DE VERSIÓN PARA CONFIRMAR DESPLIEGUE EN COOLIFY
|
||||
console.log('--- ALMEIRA WEB VERSION 1.1.0 ---');
|
||||
console.log('Intento de login para:', email);
|
||||
|
||||
// Login de Emergencia Protegido (Súper Robusto)
|
||||
// 1. Bypass de Emergencia (Prioridad Máxima)
|
||||
if (email === 'admin@almeira.com.co') {
|
||||
console.log('Detectado correo de emergencia, verificando password...');
|
||||
console.log('>>> MODO EMERGENCIA: Verificando credenciales locales...');
|
||||
if (password === ADMIN_PASSWORD) {
|
||||
console.log('>>> MODO EMERGENCIA: Acceso concedido.');
|
||||
const cookieStore = await cookies();
|
||||
cookieStore.set(COOKIE_NAME, "admin-bypass-session", {
|
||||
path: "/",
|
||||
httpOnly: true,
|
||||
sameSite: "lax",
|
||||
secure: false, // Temporalmente false para permitir login sin HTTPS válido
|
||||
secure: false, // Permitir en HTTP (No Seguro)
|
||||
maxAge: 60 * 60 * 24 * 7,
|
||||
});
|
||||
console.log('Bypass de emergencia activado para admin');
|
||||
console.log('>>> MODO EMERGENCIA: Cookie guardada, redirigiendo a /dashboard');
|
||||
return redirect('/dashboard');
|
||||
} else {
|
||||
return { error: 'Contraseña de administrador de emergencia incorrecta.' };
|
||||
console.log('>>> MODO EMERGENCIA: Password incorrecto.');
|
||||
return { error: 'Contraseña de emergencia incorrecta.' };
|
||||
}
|
||||
}
|
||||
|
||||
// 2. Intento de Login Normal (Appwrite)
|
||||
try {
|
||||
const client = new Client()
|
||||
.setEndpoint(ENDPOINT)
|
||||
@ -50,16 +55,20 @@ export async function login(prevState: any, formData: FormData) {
|
||||
path: "/",
|
||||
httpOnly: true,
|
||||
sameSite: "lax",
|
||||
secure: false, // Temporalmente false
|
||||
secure: false, // Permitir en HTTP (No Seguro)
|
||||
maxAge: 60 * 60 * 24 * 7,
|
||||
});
|
||||
console.log('Sesión de Appwrite creada exitosamente');
|
||||
console.log('>>> LOGIN APPWRITE: Sesión creada exitosamente');
|
||||
|
||||
} catch (error: any) {
|
||||
if (error.code === 429) {
|
||||
return { error: 'Límite de intentos excedido en Appwrite. Usa el acceso de emergencia si es urgente.' };
|
||||
console.error('>>> LOGIN ERROR:', error.message);
|
||||
if (error.code === 401) {
|
||||
return { error: 'Credenciales inválidas en Appwrite.' };
|
||||
}
|
||||
return { error: 'Credenciales inválidas. Verifica tus datos o usa el acceso de emergencia.' };
|
||||
if (error.code === 429) {
|
||||
return { error: 'Límite de intentos excedido. Usa el acceso de emergencia.' };
|
||||
}
|
||||
return { error: 'Error de conexión o datos inválidos.' };
|
||||
}
|
||||
|
||||
redirect('/dashboard');
|
||||
@ -78,7 +87,9 @@ export async function logout() {
|
||||
.setSession(sessionCookie.value);
|
||||
const account = new Account(client);
|
||||
await account.deleteSession('current');
|
||||
} catch(e) {}
|
||||
} catch(e) {
|
||||
console.error('Error al cerrar sesión en Appwrite:', e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user