React/Rebase/Firebase警告:拒绝权限 - 如何添加用户身份验证?

Mar*_*cus 5 authentication firebase reactjs firebase-realtime-database

请原谅我的问题的简单性,但由于权限错误,我无法让Rebase/Firebase工作(Rebase与Firebase非常相似https://github.com/tylermcginnis/re-base)

我正在构建一个简单的网站作为React.js教程的一部分,我只想在我的页面上保留一些状态.要做到这一点,我想要的只是Firebase数据库,没有用户身份验证,但是当我设置数据库时,我得到权限错误,因此用户身份验证必须是必需的.

这就是我在main.js顶部的内容:

var Rebase = require('re-base');
var base = Rebase.createClass('https://fishmonger-f3761.firebaseio.com/');
Run Code Online (Sandbox Code Playgroud)

然后在我的主应用程序组件中,我添加了这个:

componentDidMount : function() {    
    base.syncState(this.props.params.storeId + '/fishes', {
      context : this,
      state : 'fishes'
    });
Run Code Online (Sandbox Code Playgroud)

我在控制台中收到以下警告:

FIREBASE WARNING: set at /(*my custom store name*)/fishes/fish1/name failed: permission_denied
Run Code Online (Sandbox Code Playgroud)

如何添加基于匿名浏览器会话的用户身份验证以忽略此错误?

U r*_*u s 8

Firebase数据库默认规则需要身份验证.

从" 数据库规则入门"页面:

默认情况下,您的数据库规则需要Firebase身份验证,并且仅向经过身份验证的用户授予完全读写权限.默认规则确保在您有机会配置数据库之前,任何人都无法访问您的数据库.

这意味着,例如,您可以授予任何人访问权限.您只需要将数据库的默认规则更改为这样(再次来自同一文档页面):

// These rules give anyone, even people who are not users of your app,
// read and write access to your database

{
  "rules": {
    ".read": true,
    ".write": true
  }
}
Run Code Online (Sandbox Code Playgroud)

阅读我链接的页面上的其他样本,找到一个适合您需求的样本.

编辑

要访问规则,请转到您的控制台(确保您已登录Google)并在侧边栏菜单中选择"数据库",然后单击"规则"标签.网址应该是这样的https://console.firebase.google.com/project/<your-project>/database/rules