如何使用命令行部署 Firebase 数据库安全规则?
Posted
技术标签:
【中文标题】如何使用命令行部署 Firebase 数据库安全规则?【英文标题】:How do I deploy Firebase Database Security rules using the command line? 【发布时间】:2016-11-11 14:33:18 【问题描述】:在旧版本的 Firebase 中,我们可以在 firebase.json
文件中添加一个 rules
部分,并在每次部署时上传新的安全规则。
我们如何使用firebase-tools
v3 命令行工具来部署数据库安全规则?
This page 说有可能:“Firebase 存储规则”
This page 提示命令行工具可以做到这一点,但firebase --help
和firebase deploy --help
似乎没有提示如何做到这一点? (如果错过了请见谅……)
(相关:可以进入firebase.json
的所有内容的规范文档在哪里?我在旧的 Firebase 网站上找到了它,但在新文档上的搜索中找不到它。)
谢谢!
【问题讨论】:
【参考方案1】:使用 firebase cli 部署一组新的安全规则
firebase deploy --only firestore:rules
【讨论】:
【参考方案2】:您可以在命令行中使用firebase deploy
或firebase deploy --only database
,但最重要的是:
请注意下面 firebase.json
格式:"rules"
条目在 "database"
条目下。
取自Firebase Sample code.
"database":
"rules": "database-rules.json"
,
"hosting":
"public": "./",
"ignore": [
"firebase.json",
"database-rules.json",
]
【讨论】:
【参考方案3】:如果您只想更新数据库规则,可以使用firebase deploy --only database
。它将覆盖您现有的规则。
您可以查看Firebase CLI Reference 了解更多信息
【讨论】:
如果使用 Firestore:firebase deploy --only firestore
【参考方案4】:
要部署一组新的安全规则,请将rules
***密钥添加到您的firebase.json
。
示例firebase.json
文件:
"rules": "firebase_rules.json",
"hosting":
"public": "doc",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
firebase_rules.json
是一个包含安全规则的 JSON 文件。这是一个例子:
"rules":
".read": false,
".write": false
当您运行firebase deploy
时,它会将firebase_rules.json
的内容发送到服务器,替换/更新任何规则配置。
【讨论】:
这个语法对我不起作用,请在此处查看我的答案 是的,@LiorK 似乎有正确、最新的方式来指定数据库规则文件。以上是关于如何使用命令行部署 Firebase 数据库安全规则?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Firebase 托管上部署流线型 python 应用程序?
如何从命令行 (CLI) 更改 Firebase 用户登录身份?
如何在没有身份验证的情况下添加 Firebase 数据库规则?