Cloud Firestore:根据身份验证设置安全规则

时间:2017-10-24 07:35:22

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

我想了解基于身份验证的安全规则是多么安全,如下所示:

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

我有一些集合,其中每个文档都与特定用户相关。

我只使用Android和iOS手机上的Cloud Firestore,而不是网络。

用户是否有办法在移动应用程序之外进行身份验证,从而读取或写入其他用户的文档?

1 个答案:

答案 0 :(得分:8)

如果您想确保用户无法阅读彼此的信息,您应该实施比auth != null更强的规则。

例如,如果您通过/users/userId进行身份验证,则这些规则使您只能在userId读取和写入数据。

service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      // Anybody can write to their ouser doc
      allow read, write: if request.auth.uid == userId;
    }
  }
}

这将使某人无法“在我的移动应用程序之外进行身份验证,因此会像您提到的那样阅读或编写其他用户的文档”。