ABIANAPP_NODE_PRODUCCION/README.md
2026-02-03 15:37:48 +00:00

1.7 KiB
Raw Blame History

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://<DATABASE_NAME>.firebaseio.com
sudo chown root:root /etc/node-gestion-api.env
sudo chmod 600 /etc/node-gestion-api.env
  1. 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 "<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