Cloud Firestore规则仅允许作者阅读文档

时间:2018-04-20 19:19:19

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

我有以下文件

The firesotre document

我已经设置了以下规则

The firestore rules

每次我尝试使用Android SDK阅读文档

document.querySelectorAll("input[value=something]");

我收到此错误

  

“com.google.firebase.firestore.FirebaseFirestoreException:PERMISSION_DENIED:权限丢失或不足。”

我不确定规则或Android调用有什么问题。

4 个答案:

答案 0 :(得分:2)

您似乎打算在规则中输入resource.data.author_id而不是resource.data.author_d

答案 1 :(得分:0)

此代码尝试访问整个用户集合中的每个文档:

db.collection("users").get()

如果该集合中的任何文档违反了您设置的安全规则,那么它将失败。

您是否打算尝试访问用户应该有权访问的单个文档?

答案 2 :(得分:0)

我认为你可以从firebase consol中解决这个问题。您只需要访问所有用户。我记得默认只允许授权用户使用。

答案 3 :(得分:0)

似乎我必须在我的代码中添加一个close位置

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    FirebaseFirestore.setLoggingEnabled(true);
    FirebaseFirestore db = FirebaseFirestore.getInstance();
    db.collection("users").whereEqualTo("authorId",user.getUid()).get().addOnCompleteListener(appExecutors.networkIO(),task -> {});