我得到(在Android上):
com.google.firebase.firestore.FirebaseFirestoreException:
PERMISSION_DENIED:权限缺失或不足
使用这些安全规则:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
我的应用程序似乎已使用正确的身份验证FirebaseAuth
,作为mFirebaseAuth.getCurrentUser().getUid()
返回正确的用户 ID。
我做错了什么吗?
Edit:只是想说我通过降级到 4.6.2 成功解决了这个问题。我有更多详细信息这个帖子
预编辑:自从我升级了 React Native 以来,这种情况就发生在我身上,而且我一生都无法解决这个问题。我已经对其进行了调试,并且我的用户在请求时肯定已通过身份验证,我通过运行下面的命令进行了检查,并且其中有一个 uid
firebase.auth().currentUser
因此,我想做的下一件事是检查实际请求中的会话,看看发生了什么。我在反应应用程序的入口点添加了一段代码
XMLHttpRequest = GLOBAL.originalXMLHttpRequest ?
GLOBAL.originalXMLHttpRequest :
GLOBAL.XMLHttpRequest
当我运行这段代码时,它又神奇地工作了。这是通过浏览器委托请求,因此可能不是真正的测试。
然后我启动了 Charles,并将新的 React-Native 构建的请求与我旧的 [工作] React-Native 构建进行了比较。不过,这些请求对我来说看起来是一样的(除了不同的 sessionId),所以我不知道。令人沮丧的是缺少通过 firestore 控制台进行调试的工具。
我的直觉是,一些身份验证标头已过期/缓存,并且它不是 firestore。此时我的头撞在桌子上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)