繁体   English   中英

如何为 REST 请求设置 Firebase 实时数据库规则?

[英]How to set up Firebase Realtime Database-rules to REST-requests?

在当前项目中,我们正在使用 React 创建一个网站,该网站将显示来自我们的 Firebase 实时数据库的一些信息。 我们使用 npm 中的firebase.auth()包进行身份验证,其中唯一存在的用户是我们的管理员用户。
我似乎无法弄清楚如何通过实时数据库规则集验证我的 POST 请求。

我用谷歌搜索了一段时间,发现显然需要通过 object 传递的令牌,我通过运行firebase.auth().currentUser.getIdToken找到了该令牌。 但是,通过将我的规则设置为

{
  "rules": {
    ".read": true,
    ".write": "auth.uid != null"
  }
}

...它仍然不让我发帖。 这当然不是一个非常安全的授权,但它应该允许我发布,因为我给了它一个访问令牌。 (我在请求 URL 中使用URL.firebaseio.com/.json?access-token=TOKEN执行此操作)。

我想知道的是我误解了系统的哪一部分。 我不希望使用 npm 中的 firebase firebase/database包,因为我不太了解它,我当时想学习一步。

如果我必须更新规则文件,它应该说什么?
如果令牌/网址错误,应该是什么?

任何帮助,将不胜感激。 谢谢。

我解决了它,供我自己使用:

在 Firebase 控制台中,在身份验证选项卡下,我发现我可以获得用户的 UID。

通过将 fetch-URL 更改为URL.firebaseio.com/.json?auth=TOKEN)并将写入规则更改为".write": "auth.uid == '[UID]'"其中[UID]是以前的提到 UID,它只允许来自通过firebase.auth()登录的用户的后请求。

干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM