我.env在app.js文件中使用变量来访问密钥.一切都很好,直到我下载了一个新的Firebase Service Account Private Key.当我用新值替换旧值时,我无法再访问密钥,因为在terminal运行时node app.js我不断收到错误消息:
/Users/Cpu/Desktop/...../node_modules/firebase-admin/lib/auth/credential.js:129抛出新的错误_1.FirebaseAppError(error_1.AppErrorCodes.INVALID_CREDENTIAL,'无法解析私钥:'+错误); ^
错误:无法解析私钥:错误:无效的PEM格式的消息.在FirebaseAppError.FirebaseError [作为构造函数](/Users/Cpu/Desktop/...../node_modules/firebase-admin/lib/utils/error.js:39:28)在FirebaseAppError.PrefixedFirebaseError [作为构造函数](/用户/ Cpu/Desktop /...../ node_modules/firebase-admin/lib/utils/error.js:85:28)新的FirebaseAppError(/Users/Cpu/Desktop/...../node_modules/firebase -admin/lib/utils/error.js:119:28)新证书(/Users/Cpu/Desktop/...../node_modules/firebase-admin/lib/auth/credential.js:129:19)在新的CertCredential(/Users/Cpu/Desktop/...../node_modules/firebase-admin/lib/auth/credential.js:192:64)在Object.cert(/ Users/Cpu/Desktop/... ..)在对象.(/Users/Cpu/Desktop/...../app.js:14:32)在Module._compile(module.js:571:32)的Object.Module._extensions..js(module.js:580) :10)在Module.load(module.js:488:32)的FirebaseAppError.FirebaseError [作为构造函数] npm ERR!代码ELIFECYCLE npm ERR!错误1
我所做的只是c + p新的Private Key,然后添加它并保存.env文件,推送到heroku,它不再工作.我甚至下载了一个新的Private Key但同样的问题.
新旧私钥
// old Private Key
-----BEGIN PRIVATE KEY-----\nbbbbbbbb\n-----END PRIVATE KEY-----\n
// new Private Key
-----BEGIN PRIVATE KEY-----\nzzzzzzzz\n-----END PRIVATE KEY-----\n
Run Code Online (Sandbox Code Playgroud)
.env文件:
FIREBASE_PROJECT_ID=wwwwwwww
FIREBASE_CLIENT_EMAIL=xxxxxxxx
FIREBASE_DATABASE_URL=yyyyyyyy
FIREBASE_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\nzzzzzzzz\n-----END PRIVATE KEY-----\n
Run Code Online (Sandbox Code Playgroud)
app.js文件:
const dotenv = require('dotenv');
dotenv.load();
var admin = require("firebase-admin"); …Run Code Online (Sandbox Code Playgroud)