3.2 KiB
GLM Hub — Solicitudes de acceso
Cambios incluidos
- Se retiró el texto de ayuda “Directa y fácil de escanear.” debajo de Descripción breve.
- Control del catálogo sigue renderizándose exclusivamente para usuarios con
role = admin. - Los usuarios normales ven una nueva sección ¿No tienes acceso a una aplicación?.
- El formulario de solicitud se alimenta directamente del catálogo publicado en Supabase, por lo que al crear, ocultar o eliminar aplicaciones el dropdown se actualiza sin editar código.
- La pantalla queda bloqueada mientras n8n registra la solicitud y envía los correos.
- Los correos de aprobación se envían individualmente a Isaac Aracena, José Leopoldo Gómez y Máximo Gómez.
- La primera decisión confirmada queda registrada de forma atómica en Supabase. Los clics posteriores no pueden cambiarla ni volver a avisar a IT Support.
- Tras la decisión se envía un correo HTML a
itsupport@gomezleemarketing.comcon solicitante, aplicación, decisión y persona que decidió.
1. Supabase
Ejecuta completo:
SUPABASE-GLM-HUB-COMPLETO.sql
El script conserva las tablas anteriores y agrega:
glm_hub_access_requestsglm_hub_access_request_approversglm_hub_prepare_access_request(uuid)glm_hub_issue_access_request_tokens(uuid)glm_hub_decide_access_request(text, text)
La función que entrega los enlaces de aprobación solo puede ejecutarse con service_role; los enlaces nunca se devuelven al navegador del solicitante.
2. n8n
Importa:
n8n/GLM-Hub-Solicitudes-Acceso-Aprobacion.json
Después configura:
- En Crear solicitud en Supabase reemplaza
TU_SUPABASE_ANON_KEYenapikey. - En Emitir enlaces de aprobación reemplaza
TU_SUPABASE_SERVICE_ROLE_KEYenapikeyyAuthorization. - En Registrar decisión en Supabase reemplaza
TU_SUPABASE_ANON_KEYenapikeyy dentro deBearer TU_SUPABASE_ANON_KEY. - Selecciona una credencial Gmail válida en:
- Enviar solicitud a aprobadores
- Enviar decisión a IT Support
- Guarda, publica y activa el workflow.
El workflow no usa variables de entorno de n8n.
3. Frontend
El .env ya incluye:
VITE_ACCESS_REQUEST_WEBHOOK_URL="https://agenteit.digitalcompass.agency/webhook/glm-hub-solicitar-acceso"
El ZIP también contiene un dist actualizado. La versión fuente puede recompilarse normalmente con:
npm install
npm run build
Decisión desde correo
Los botones del correo abren una pantalla de confirmación antes de registrar la decisión. Esto evita que un escáner automático de enlaces de Gmail o seguridad corporativa apruebe o rechace una solicitud sin intervención humana.
Los botones permanecen visibles en los correos ya entregados, pero después de la primera decisión Supabase bloquea cualquier cambio posterior y muestra que la solicitud ya fue atendida.
Corrección 2026-07-29
- El nodo Crear solicitud en Supabase usa la clave
anonenapikeyy el JWT vigente del usuario enAuthorization. - Los nodos internos para emitir enlaces y registrar decisiones conservan la clave
service_role. - Los errores visibles en el portal son mensajes para usuarios; los detalles técnicos quedan solamente en la ejecución de n8n.
- El selector de áreas incluye CDC.