【发布时间】:2020-04-22 00:39:47
【问题描述】:
我在将图片上传到 Firebase 存储时遇到问题。我正在使用 React Native 的 @react-native-firebase/storage 并且安装和连接似乎都很好,因为我能够很好地引用图像:
const ref = firebase.storage().ref('myImage.png');
问题肯定是基于权限的,因为当我暂时删除时:
: if request.auth != null
来自 Firebase 控制台存储规则:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
效果很好:
firebase.storage()
.ref('images/test.jpg')
.putFile(myImage[0].path)
.then((successCb) => {
console.log('successCb');
console.log(successCb);
})
.catch((failureCb) => {
console.log('failureCb');
console.log(failureCb);
});
那么如何进行身份验证才能安全地使用 putFile?
编辑: 我正在使用“@react-native-firebase/storage”:“^6.2.0”
提前致谢!
【问题讨论】:
-
所以听起来用户没有登录。您是否使用 Firebase 身份验证登录了用户?如果是这样,smallest standalone script with which you can reproduce the problem 是什么?
-
谢谢@FrankvanPuffelen!如何登录?我正在使用相同的 react-native-firebase/ 进行分析并且工作正常。你有一个很好的推荐工具来使用第三方模块在线启动一个反应本机应用程序吗?我会尝试在那里为您重新创建它。我没有更改任何默认值,所以我认为安装了 firebase 的普通项目应该会显示错误。
-
“我如何登录?” firebase.google.com/docs/auth 或(因为您使用的是
react-native-firebase)rnfirebase.io/docs/v5.x.x/auth/getting-started
标签: javascript firebase-authentication firebase-storage react-native-firebase react-native-image-picker