2016-11-12 20 views
2

我将图像保存到我的Firebase存储,并且我只希望使用该应用程序的用户能够访问它们。我不想强迫我的用户只是为了使用应用程序而登录,所以这不是一个选项。如何使应用程序的用户只能使用Firebase存储

+0

你必须为所有用户创建和硬编码到您的项目只有一个用户名和密码。 –

回答

5

由于火力地堡后端服务在云中托管,他们本质上是任何人都可以访问的。没有办法限制他们只访问使用您编写的代码的人。任何开发人员都可以下载SDK,重新编写代码并使用它来访问相同的后端服务。

这就是为什么您通过基于用户的安全性来安全访问Firebase数据(无论数据库中的结构化数据还是存储中的文件)的原因。让用户登录到应用程序,意味着您可以识别谁正在访问数据。验证用户身份后,您可以使用Firebase的安全规则(对于databasestorage),以确保他们只能访问授权的数据。他们可能仍在使用其他代码,但您至少知道他们是谁,并确信他们只能以您授权的方式访问数据。

通过使用anonymous authentication,您可以两全其美(要求用户进行身份验证,无需登录)。请记住,任何开发者都可以下载Firebase SDK并匿名验证用户身份。

有关的话题旧的讨论(数据库,但它同样适用于存储),请参阅How to prevent other access to my firebase

2

基本上你想改变你的存储规则。在Firebase控制台和存储空间下方,框架顶部有两个标签。一个说文件,一个说规则。如果单击“规则”选项卡,您将看到定义谁可以读取和写入存储的代码视图。您需要按照以下链接为您的存储设置正确的规则。但基于你希望所有你需要做的就是设置读取写入的代码是什么:

allow read: if request.auth != null; 

退房此链接:https://firebase.google.com/docs/storage/security/user-security

相关问题