ios - 限制对 Firebase 存储的访问,以便只有我的应用可以访问它

标签 ios firebase firebase-storage

这就是我的场景:1) 我正在开发一个使用 Firebase 存储的 iOS 应用程序。 2) 我的应用程序具有基于 Facebook 登录的自定义轻量级身份验证机制。 3) 所有经过身份验证的用户都可以访问 firebase 存储中的任何数据。 4) 所有其他人都不能。

我只想确保只有我的应用可以访问存储空间。如果我要构建自己的服务器,我将只使用一些 API key 评估每个传入请求,该 key 已在应用程序中预先设置,因此来 self 的应用程序的所有请求都已成功解决。如果其他人想使用我的 API,他应该知道 API key 。

我明白了,这不是 WEB-APP 的解决方案,因为每个人都可以看到源代码(和 API key ),但这对于移动应用程序来说是可以的,那里没有这种可能性。

所以我的问题是:我应该为此烦恼还是 Firebase 已经根据配置文件中的 APIkey 完成了这项工作。如果我应该这样做,您会推荐什么?

也许我在 firebase 的文档中遗漏了一些内容,但我发现他们对这个特定问题并不清楚。

最佳答案

在正常情况下,是的,所有其他人都无法访问存储。但是,没有什么是“牢不可破的”。

  1. 人们可以对您的应用进行逆向工程并获取凭据、api key 等。因此最好的方法是应用另一层保护,例如 this (for iOS)this (For Android) (仅供引用)。尽管如此,它仍然是可以破解的,但需要更多的努力,通常人们会放弃攻击它。

  2. 我假设您使用的是 firebase 的标准方式,这需要您下载配置文件。查看您放置在项目中的配置文件,它允许人们在您的 api key 使用情况下访问 firebase 功能(在本例中为 firebase 存储)。您可以应用双向因素身份验证(来自 firebase 身份验证或 facebook 身份验证)验证真正的用户

希望它能给你一些想法,干杯!

关于ios - 限制对 Firebase 存储的访问,以便只有我的应用可以访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51727681/

相关文章:

ios - FBSDKLikeControl 标题文本不会根据设备区域设置改变 FBSDK ios

ios - 如何在头文件之外分配弱引用?

iOS 钥匙串(keychain)包装器 NSInternalInconsitity 异常

android - 有什么方法可以在我的Flutter应用程序中打开链接URL?

Firebase Audience 无法正常工作?

javascript - 使用 Antd 上传操作将图像上传到 firebase 存储时出现问题

JavaScript Firebase 数据库 Web 未捕获语法错误 : Unexpected token with no reason

javascript - 无法创建全局 vue 变量(Vue.prototype.$firebase)

ios - 为什么无法使用 Google Firebase 存储中的下载 URL 打开上传的文件?

google-cloud-functions - 使用云功能删除 firebase 存储上的文件时出现错误 No such Object