Firebase Node.js SDK未经身份validation的访问

我试图使用3.1.0版本引入的新function来访问实时数据库:“Node.js SDK现在支持未经身份validation的访问。如果没有提供服务帐户,实时数据库访问将被限制,就像任何未经身份validation的客户端一样。 “

SDK更新到3.1.0:

user@ha:~/dev/project/auth/firebase$ sudo npm install -g firebase [sudo] password for user: /usr/local/lib └─┬ firebase@3.1.0 

尝试没有服务帐户:

 var firebase = require('firebase'); console.log('Initialise Firebasse app'); firebase.initializeApp({ // serviceAccount: "", databaseURL: "https://some-valid-firebase.firebaseio.com" }); 

结果是:

 user@ha:~/dev/project/auth/firebase$ nodejs fb_anon.js Initialise Firebasse app /home/user/dev/project/node_modules/firebase/auth-node/auth.js:61 throw new Error('Invalid service account provided'); ^ 

请帮助,可能我在这里错过了一些明显的东西。 🙁

发生了什么事是你的应用程序引用了一个在你的node_modules里面的旧的sdk版本。 那是因为你用全局标志更新了firebase sdk,而你指的是本地的sdk。

您应该在本地安装到您的应用程序。 首先确保你在package.json文件中添加了"firebase":"3.1.0" ,然后在同一个目录下调用npm install

我刚刚用与添加的代码相同的代码对它进行了testing,一切都按预期进行。

在这个问题中你可以find一些使用npm的附加信息和技巧。