1.7 KiB
1.7 KiB
Node Gestión API – Firebase Admin
test5
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:
- 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://<DATABASE_NAME>.firebaseio.com
sudo chown root:root /etc/node-gestion-api.env
sudo chmod 600 /etc/node-gestion-api.env
- 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_TOKENFCM_TEST_TITLE(opcional)FCM_TEST_BODY(opcional)
Uso rápido
Ejemplo de envío real:
node src/scripts/sendTestNotification.js --token "<FCM_DEVICE_TOKEN>" --title "Hola" --body "Prueba"
Ejemplo de validación sin enviar (dry run):
node src/scripts/sendTestNotification.js --token "<FCM_DEVICE_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 "<FCM_DEVICE_TOKEN>" --dry-run