我注意到Firebase最近发生了变化。我正在构建一个需要firebase的node.js应用程序,之前这已足够了:
var Firebase = require("firebase");
var firebaseRef = new Firebase("https://blabla.firebaseio.com/");
根据此链接:https://firebase.google.com/docs/web/setup#prerequisites
您需要在新的firebase控制台中创建一个firebase项目,然后将firebase添加到您的Web应用程序中。这给你类似的东西:
// Initialize Firebase
var config = {
apiKey: '<your-api-key>',
authDomain: '<your-auth-domain>',
databaseURL: '<your-database-url>',
storageBucket: '<your-storage-bucket>'
};
firebase.initializeApp(config);
但是,当我运行node.js应用程序时,收到以下错误消息:
throw new Error('Invalid service account provided');
^
Error: Invalid service account provided
at new Auth (C:\Projects\lambdaTestFunction\node_modules\firebase\auth-node\auth.js:61:11)
at Object.serviceFactory [as auth] (C:\Projects\lambdaTestFunction\node_modules\firebase\auth-node\index.js:14:14)
at F.u (C:\Projects\lambdaTestFunction\node_modules\firebase\app-node.js:14:94)
at C:\Projects\lambdaTestFunction\node_modules\firebase\auth-node\index.js:31:9
at C:\Projects\lambdaTestFunction\node_modules\firebase\app-node.js:11:272
at Array.forEach (native)
at Object.e.initializeApp (C:\Projects\lambdaTestFunction\node_modules\firebase\app-node.js:11:245)
at Object.<anonymous> (C:\Projects\lambdaTestFunction\index.js:44:10)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
我到底错过了什么?
提前致谢。
答案 0 :(得分:18)
从文档中看不出来,但对于Firebase的服务器端使用,您需要使用&#34;服务帐户&#34;进行身份验证。这意味着创建一些凭据,下载它们并以不同于浏览器的方式初始化firebase库。
如果您要迁移Node.js应用,则现在需要进行身份验证 有一个服务帐户。有关完整说明,请参阅服务器SDK文档。
此处文档中的更多细节: https://firebase.google.com/docs/server/setup#add_firebase_to_your_app
答案 1 :(得分:0)
我正在使用Firebase和Electron,对于电子应用来说,您还需要服务帐户。