“向我们发送反馈”按钮。我已经尝试过allow create;
和allow read; allow create;
。两者均失败并返回“权限不足”。
allow write;
确实有效,但允许删除。
问题:Firestore安全规则看起来像什么,它将允许公共/未经身份验证的用户写入特定的“反馈”集合?我只想限制对此集合的访问。没有列表,没有删除,没有更新。
以下是我的规则:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.token.admin == true;
}
match /feedback/{document=**} {
allow create;
}
}
}
这是我的客户端JS:
function submitFeedback(val){
var newFeedbackRef = db.collection('feedback').doc();
try {
if(firebase.auth().currentUser){
newFeedbackRef.set({
message: val,
created: Date.now(),
sender: firebase.auth().currentUser.displayName,
senderEmail: firebase.auth().currentUser.email,
senderUid: firebase.auth().currentUser.uid
});
} else {
newFeedbackRef.set({
message: val,
created: Date.now()
});
}
console.log("Got it. Thank you!");
}
catch (error) {
console.error(error);
}
}