Firebase"抛出新的错误('提供无效的服务帐户');"错误信息

时间:2016-05-24 21:58:12

标签: javascript firebase

我注意到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)

我到底错过了什么?

提前致谢。

2 个答案:

答案 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,对于电子应用来说,您还需要服务帐户。