![](/img/trans.png)
[英]How to access firebase realtime database according to the rules using http requests
[英]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.