【发布时间】:2023-04-07 07:42:01
【问题描述】:
我正在尝试在不需要用户身份验证的情况下安全地创建 Firestore 文档,并为此定义了以下规则:
allow create: if request.resource.data.deviceid == resource.id;
根据我从 Google 读到的内容,如果待处理的写入包含与文档 ID 匹配的名为“DeviceID”的字段,这应该允许创建文档,这就是我认为我正在做的事情(我确认androidID 与文档 ID 相同):
data.put("DeviceID", androidID);
mDevIDDocRef.set(data)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});
但是,上述操作失败并出现权限异常。我做错了什么?
【问题讨论】:
标签: android firebase google-cloud-firestore firebase-security