
[英]firebase Certificate object must contain a string "private_key" property
[英]Service account object must contain a string "private_key" property. (property is present)
我正在尝试使用开箱即用的身份验证来启动 nextjs / firebase 模板。
我是 base64 编码我的私钥,对其进行解码,然后加载到 initAuth.js 中的 init initAuth.js
中。
我将解码的 json 记录到控制台中,并且私钥属性显然存在。 但是我收到了这个值丢失的错误。
initAuth.js
const privateKeyBase64 = process.env.FIREBASE_PRIVATE_KEY;
let buffer, privateKey;
if (privateKeyBase64) {
buffer = Buffer.from(privateKeyBase64, "base64");
privateKey = buffer.toString("utf-8");
console.log(privateKey);
}
init({
// ...
privateKey: privateKey ? JSON.parse(privateKey) : undefined,
});
console.log()
output 看起来像这样(删除了敏感内容)。
{
"type": "service_account",
"project_id": "",
"private_key_id": "",
"private_key": "-----BEGIN PRIVATE KEY----- STUFF \n-----END PRIVATE KEY-----\n",
"client_email": "",
"client_id": "",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": ""
}
这是我得到的错误:
FirebaseAppError:服务帐户 object 必须包含字符串“private_key”属性。 在 FirebaseAppError.FirebaseEr-admin/lib/utils/error.js:44:28) 在 FirebaseAppError.PrefixedFirebaseError [作为构造函数] (/home/node_modules/firebase-admin/lib/utils/error.js:90:28) 在新 ServiceAccount (/home/node_modules/firebase-admin/lib/credential/credential-internal.js:134:19) 处的新 FirebaseAppError (/home/node_modules/firebase-admin/lib/utils/error.js:125:28) ) 在新的 ServiceAccountCredential (/home/node_modules/firebase-admin/lib/credential/credential-internal.js:68:15) aror [作为构造函数] (/home/node_modules/firebase-admin/lib/utils/error.js :44:28) 在 FirebaseAppError.PrefixedFirebaseError [作为构造函数] (/home/node_modules/firebase-admin/lib/utils/error.js:90:28) 在新 FirebaseAppError (/home/node_modules/firebase-admin/lib/ utils/error.js:125:28) 在新 ServiceAccount (/home/node_modules/firebase-admin/lib/credential/credential-internal.js:134:19) 在新 ServiceAccountCredential (/home/node_modules/firebase-admin/ lib/credential/credential-internal.js:68:15) 在 Z49703179 4414A552435F90151AC3B54BZ.exports.cert (/home/node_modules/firebase-admin/lib/credential/credential.js:34:54) 在 z (/home/node_modules/next-firebase-auth/build/index.node.js:2:16085 ) 在 /home/node_modules/next-firebase-auth/build/index.node.js:2:16932 在 Generator.next () 在 asyncGeneratorStep (/home/me/project/node_modules/@babel/runtime/helpers/asyncToGenerator.js :3:24) { errorInfo: { code: 'app/invalid-credential', message: '服务帐户 object 必须包含字符串“private_key”属性。' },代码前缀:'应用程序'
谢谢
我需要提供 PEM json 的privateKey
属性,而不是整个 json 对象。
你能告诉我你是怎么做的吗? 我有同样的问题,但还没有解决..
"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.