当我从模拟器运行时,尝试更新React Native应用程序中的文档可以正常工作,但是当我从实际设备运行时,失败并显示错误:“缺少权限或权限不足”。我已确保登录。
会引发错误的示例代码:
listing.doc.ref.update({
quantityAvailable: qty
});
//called from an authenticated user who is the author of the listing.
//So the request.auth.uid is equal to the listing.user.id
相关的数据库规则如下:
match /listings/{document=**} {
allow read;
allow create: if isSignedIn();
allow update: if isOwner();
}
...
function existingData() {
return resource.data
}
function incomingData() {
return request.resource.data
}
function currentUser() {
return request.auth
}
function isSignedIn() {
return request.auth != null;
}
function isOwner() {
return request.auth.uid == existingData().user.id;
}
答案 0 :(得分:0)
我能够通过切换到react-native-firebase库而不是常规的node.js Firebase库来修复它。事实证明这不是一个权限问题,我的权限很好,这是一个网络问题,其中包含react native和node.js firebase库。