【问题标题】:How to use Firestore Security Rules perfectly如何完美使用 Firestore 安全规则
【发布时间】:2019-07-08 06:40:12
【问题描述】:

我阅读了文档并观看了有关此的视频 但还是没有完全理解

我的意思是我知道如何编写这些安全规则 但我什么时候应该使用这个? 我是否必须为所有收藏和文档写出所有安全规则? (如果这样做,它会是巨大的)

例如,我现在正在制作随机约会应用程序。 在我的情况下,我认为除非我关心支付系统,否则我不会那么关心安全性。 如果我没有为所有文件设置安全规则,所有这些文件都处于危险之中吗? (不安全的)

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    除非您希望互联网上的任何人都能够读取和写入您数据库中的任何文档,否则您将需要使用安全规则来保护它们。这对你来说是否会成为一个问题,这是不可能的。但这种可能性是存在的。

    【讨论】:

    • 不,如果您的规则不限制谁可以读写文档,他们可以查看、更改和删除文档的内容。
    【解决方案2】:

    一步一步来,你就会知道如何使用规则this

    基本规则

    我们的图像共享应用 Fogo 的 Firestore 安全规则如下:

    service cloud.firestore {
      match /databases/{database}/documents {
        match /uploads/{document=**} {
          allow write: if request.auth.token.admin == true ;
          allow read;
        }
    ​
        match /users/{document=**} {
          allow read, write: if request.auth.token.admin == true ;
        }
      }
    }
    

    让我们逐行分解这些规则。

    service cloud.firestore — 定义服务,在本例中为cloud.firestore

    match /databases/{database}/documents —定义数据库; {database} 子句表示这些规则适用于项目中的所有 Firestore 数据库

    match /uploads/{document=**} — 创建一个新规则块以应用于上传集合和其中包含的所有文档

    allow write: if requests.auth.token.admin == true ; — 允许对身份验证令牌(也称为用户的 JWT)上 admin 属性等于 true 的经过身份验证的会话进行写访问

    allow read; — 允许公共读取访问

    match /users/{document=**} - 为用户集合和其中包含的所有文档创建一个新的规则块

    允许读、写:如果 request.auth.token.admin == true ; - 允许对经过身份验证的会话进行读写访问,其 admin 属性等于 auth 令牌上的 true,也称为用户的 JWT

    【讨论】:

    • 我的意思是我想我可能已经知道了。我想了解更多类似“区域事物”的信息
    • 面积变薄意味着
    猜你喜欢
    • 2021-09-09
    • 2018-10-19
    • 2019-07-05
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多