Error on Heroku when trying to post data ( error:0909006C Pem routines..._

Error on Heroku when trying to post data ( error:0909006C Pem routines..._

我正在尝试制作一个部署在 Heroku 上的小型 nodeJS 服务器,将数据保存到 Firestore 数据库。服务器已部署并且 运行 正确。 我使用 Insomnia 来测试我的请求,当我在本地使用它时,我可以发送 post 请求并将我的数据对象毫无问题地保存到数据库中。但是,当我尝试向 Heroku 发送 post 请求时,出现 500 错误消息:

{ "code": 16, "details": "Failed to retrieve auth metadata with error: error:0909006C:PEM routines:get_name:no start line", "metadata": {}, "note": "Exception occurred in retry method that was not classified as transient" }

我读到有必要在 env 变量中添加真正的换行符,但我想我已经在这样做了。这是我的 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"
  });

知道如何解决这个问题吗?

我通过 copy-pasting 将带断行的键直接放入 Heroku 配置变量并从代码中删除 .replace(/\n/gm, "\n") 来解决它。

privateKey: process.env.PRIVATE_KEY
    ? process.env.PRIVATE_KEY
    : undefined