【问题标题】:Firebase Node.js SDK unauthenticated accessFirebase Node.js SDK 未经身份验证的访问
【发布时间】:2016-11-04 15:00:00
【问题描述】:

我正在尝试使用 3.1.0 版本中引入的新功能访问实时数据库:“Node.js SDK 现在支持未经身份验证的访问。如果未提供服务帐户,实时数据库访问将受到限制,就像任何未经身份验证的客户端一样会的。”

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');
    ^

请帮忙,可能我在这里遗漏了一些明显的东西。 :-(

【问题讨论】:

  • 你不应该在initializeApp中传递一个apiKey吗?
  • @Devid Farinelli:不适用于服务器/节点 SDK。见这里:Initialize the SDK

标签: node.js firebase npm


【解决方案1】:

发生的情况是您的应用程序引用了 node_modules 中的旧 sdk 版本。那是因为您使用 global 标志更新了 firebase sdk,并且您指的是本地 sdk。

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

我刚刚使用您添加的同一段代码对其进行了测试,一切都按预期进行。

this question 中,您可以找到一些使用 npm 时的其他信息和提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2020-08-25
    • 2016-10-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多