And*_*aga 1 android firebase firebase-storage
我目前正在构建一个应用程序,后端和前端,我使用 Firebase 来保存用户可以上传和下载的图片,到目前为止我一直在从前端上传它们,如果上传成功,那么我将带有其余数据的图像链接发送到后端,但是当我在应用程序中保存 firebase 凭据(以便连接)时,现在我怀疑在后端执行所有操作是否会更好/更安全,发送所有信息(包括图像)并让后端将图像上传到 firebase。我不知道应用程序的这些凭据有多安全
如果 Firebase SDK 有我需要的东西,我通常会在前端处理事情。不这样做的唯一常见原因是需要在后端执行它们。这仅适用于以下操作:需要大量内存/CPU/带宽,需要访问秘密信息(例如支付网关的 API 密钥),或代码本身是秘密的(例如检测游戏中的作弊,或聊天应用程序中的恶意消息)。
例如,在您的情况下,直接从前端上传到 Cloud Storage 是使用 Firebase SDK 的一个很好的理由。这样做意味着 Firebase 负责编码、重试、安全性和许多其他事情。如果您想在中间引入自己的服务器,则必须编写(客户端和服务器)代码来自己处理所有这些。
请注意,火力地堡告诉你的钥匙,通过添加到您的应用程序google-services.json是没有凭据,而仅仅是配置数据的应用程序都需要找到服务器上的火力地堡项目。有关更多信息,请在此处查看我的回答:将 Firebase apiKey 公开给公众是否安全?
但这就是说,有了配置数据,任何人都可以在您的项目中调用 Firebase API 方法。所以你需要以某种方式保护访问,以防止其他用户想出他们自己的代码来使用你的项目。
执行此操作的常用方法是在客户端上使用Firebase 身份验证来让您的应用程序的用户登录。然后您将使用Firebase 安全规则来限制谁可以读取/写入Cloud Storage 中的哪些文件。