【问题标题】:Firebase Database and Storage project work does not work on real device (Android)Firebase 数据库和存储项目工作不适用于真实设备(Android)
【发布时间】:2018-06-02 12:54:15
【问题描述】:
我最近在 Firebase 数据库、存储和身份验证上工作,它在模拟器上运行得非常好,但是在真实设备中,当我上传图像时,我得到“用户无权访问此对象”,我尝试将 SHA1 更改为我的console.firebase.google.com project/myProject-112f2/settings/general 使用我本地机器的 keytool.exe -list 中生成的 SHA1,但仍然出现相同的错误。如何解决?
【问题讨论】:
标签:
android
firebase-realtime-database
firebase-authentication
firebase-storage
【解决方案1】:
阅读此documentation 了解更多概念
service firebase.storage {
match /b/image-view-b1cf5.appspot.com/o {
match /{allPaths=**} {
// Allow access by all users
allow read, write;
}
}
}
【解决方案2】:
我认为我在身份验证中有一个用户,因为它可以在模拟器上绕过身份验证直接进入查看列表的活动,并且它也适用于真实设备,因为我将规则设置为
"rules": {
".read": "auth === null",
".write": "auth === null"
}
模拟器将使用此规则工作,但真实设备无法工作,您需要进行身份验证才能执行 READ 和 WRITE。通过从控制台中的身份验证中删除用户,我可以读写。因此,即使您的规则设置为 auth = null,在使用奇怪的真实设备时,firebase 规则也可以工作添加用户身份验证用户以执行读取和写入。