# Node Gestión API – Firebase Admin test3 Este proyecto incluye un script de prueba para enviar notificaciones con Firebase Admin SDK. ## Configuración segura de credenciales La opción más segura para persistir `GOOGLE_APPLICATION_CREDENTIALS` en Linux es usar un archivo de entorno protegido y cargarlo desde tu gestor de procesos (systemd o PM2). Ejemplo con systemd: 1. Crea un archivo de entorno fuera del repo, con permisos restrictivos: ``` # /etc/node-gestion-api.env GOOGLE_APPLICATION_CREDENTIALS=/var/www/node.gestion.abianservice.com/notabser-firebase-adminsdk-fbsvc-bf88758663.json FIREBASE_DATABASE_URL=https://.firebaseio.com ``` ``` sudo chown root:root /etc/node-gestion-api.env sudo chmod 600 /etc/node-gestion-api.env ``` 2. En tu servicio systemd: ``` EnvironmentFile=/etc/node-gestion-api.env ``` Si trabajas localmente, puedes usar `.env` (ya soportado por `dotenv`) y mantenerlo fuera del control de versiones. ## Script de prueba (FCM) El script está en `src/scripts/sendTestNotification.js`. Variables esperadas (pueden ir en `.env`): - `GOOGLE_APPLICATION_CREDENTIALS` (ruta absoluta) - `FIREBASE_DATABASE_URL` (opcional) - `FCM_TEST_TOKEN` - `FCM_TEST_TITLE` (opcional) - `FCM_TEST_BODY` (opcional) ## Uso rápido Ejemplo de envío real: ``` node src/scripts/sendTestNotification.js --token "" --title "Hola" --body "Prueba" ``` Ejemplo de validación sin enviar (dry run): ``` node src/scripts/sendTestNotification.js --token "" --dry-run ``` Self-test de inicialización (no envía): ``` node src/scripts/sendTestNotification.js --self-test ``` También puedes usar el script de npm: ``` npm run notify:test -- --token "" --dry-run ```