如何为使用Cloud Firestore的Flutter应用设置安全规则?

时间:2018-12-28 11:19:10

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

我正在创建Flutter移动应用程序,并希望使用Cloud Firestore存储客户端应访问的一些数据。到目前为止,还没有用户特定的数据,因此我不希望我的用户必须登录该应用程序。我需要指定哪些安全规则以允许客户端读取数据,但是拒绝公共访问(从应用程序的“外部”)?

这些是我到目前为止设置的安全规则。

service cloud.firestore {
    match /databases/{database}/documents {
        match /{document=**} {
            allow write: if false;
            allow read: if request.auth.uid != null;
        }
    }
}

根据身份验证->登录方法,我已启用匿名身份验证。但是我不确定安全规则是否正确,以及在客户端需要什么Dart代码才能获得所需的行为(不需要客户端指定凭据,而是保护我的数据以防止从应用程序外部访问)。

1 个答案:

答案 0 :(得分:2)

  

所以我不希望我的用户必须登录应用程序。

但是您对它们进行身份验证。即使是匿名身份验证,也仍然是身份验证。

  

我需要指定哪些安全规则以允许客户端读取数据,但是拒绝公共访问(从应用程序的“外部”)?

您已经拥有的确切规则。

  

但是我不确定安全规则是否正确。

规则正确。

  

我需要在客户端中使用什么Dart代码才能获得所需的行为(无需客户端指定凭据,而是保护我的数据以防止从应用程序外部访问)。

您的代码应类似于this