【发布时间】:2018-04-12 20:35:02
【问题描述】:
我有以下对象:
const offer = {
offerInfo: {
price: '',
status: 'open',
message: '',
ownerUID: '',
ownerName: '',
ownerPhoto: '',
ownerAvgRating: '',
ownerReviewNumber: '',
},
offerMetaData: {
userHasSeenOffer: false,
userHasBeenNotified: false,
}
}
我正在尝试将其发布到以下节点:
updates['jobs/${activeJob.key}/offers/${currentUser.uid}] = offer;
然后firebase.database().ref().update(updates)
如您所见,我使用用户 uid 作为商品本身的 id。
现在当我尝试使用以下规则发布它时,我收到一个权限被拒绝错误,我不知道为什么。
规则:
"jobs": {
"$job_uid": {
".read": "auth !== null",
"job": {
".write": "!data.exists() && root.child('allUsers/serviceUsers/' + auth.uid + '/paymentDetails').exists() || data.exists() && root.child('jobs/' + $job_uid + '/job/owner').val() === auth.uid",
},
"offers": {
"$offer_uid": {
"offerInfo": {
".write": "$offer_uid === auth.uid",
},
"offerMetaData": {
".write": "root.child('jobs/' + $job_uid + '/job/owner').val() === auth.uid || $offer_uid === auth.uid",
},
},
},
...
有什么想法吗?
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security