Estoy tratando de implementar un pequeño servidor nodeJS en Heroku, guardando datos en la base de datos de Firestore. El servidor está implementado y funcionando correctamente. Uso Insomnia para probar mis solicitudes y, cuando lo uso localmente, puedo enviar una solicitud posterior y guardar mi objeto de datos en la base de datos sin problemas. Sin embargo, cuando intento enviar una solicitud de publicación a Heroku, aparece un error 500 con este mensaje:
{ "código": 16, "detalles": "Error al recuperar metadatos de autenticación con error: error:0909006C:rutinas PEM:get_name:sin línea de inicio", "metadatos": {}, "nota": "Se produjo una excepción al reintentar método que no fue clasificado como transitorio" }
He leído que es necesario agregar saltos de línea reales en la variable env, pero supongo que ya lo estoy haciendo. Esta es mi función initializeApp :
admin.initializeApp({ credential: admin.credential.cert({ projectId: process.env.PROJECT_ID, privateKey: process.env.PRIVATE_KEY ? process.env.PRIVATE_KEY.replace(/\\n/gm, "\n") : undefined, clientEmail: process.env.CLIENT_EMAIL }), databaseURL: "XXXXX" });¿Algúna idea de cómo arreglar esto?
Lo resolví copiando y pegando la clave con líneas de interrupción directamente en las variables de configuración de Heroku y eliminando .replace(/\\n/gm, "\n") del código.
privateKey: process.env.PRIVATE_KEY ? process.env.PRIVATE_KEY : undefined