【问题标题】:Firebase and Expo. Deploy Expo App. Hiding KeysFirebase 和世博会。部署 Expo 应用程序。隐藏键
【发布时间】:2021-01-30 11:31:34
【问题描述】:

我看到这个问题已经被问过了,但不是最近才问的,所以我再次提出。

如何在 expo 应用程序中隐藏 firebaseConfig 文件或任何密钥? (用于生产,而不是开发)。

据我所知,没有办法在 react-native expo 应用程序中正确隐藏带有 API 密钥等的 firebase 配置文件。

由于我已经围绕与 Firestore 交互构建了我的整个应用程序,我对如何继续进行有点困惑。

如果我弹出,有没有办法在非博览会 react-native-app 中正确隐藏我的 API 密钥?或者我还会面临同样的问题吗?一切都很顺利,我不想弹出。

我有一些使用 node.js/express.js 作为后端的经验(仅在开发环境中)。我应该自己构建一个服务器,然后从那里提供配置信息吗?

如果我想部署一个“演示”应用,有没有办法在仍然使用 expo 的同时隐藏密钥?

对此的任何见解都会非常有帮助。

据我所知,没有与 expo 兼容的“dotenv”包。

此外,我在部署移动应用方面的经验为零,而在部署 Web 应用方面经验很少。我还没有处理部署中的密钥安全问题。

任何帮助将不胜感激。

【问题讨论】:

    标签: firebase react-native expo dev-to-production


    【解决方案1】:

    无法有效地隐藏您的 Firebase 配置信息。你能做的最好的事情就是让别人更难找到他们。由于所有 JavaScript 代码都在您无法控制的计算机或设备上运行,因此您无法确保其中任何代码都隐藏在视图之外。

    事实上,你不需要隐藏这些。我建议阅读:Is it safe to expose Firebase apiKey to the public?

    如果您使用的是实时数据库、Firestore 或 Cloud Storage,则应使用安全规则来保护数据,以便只有授权用户才能访问它。

    【讨论】:

    • 好的,谢谢!我读过这篇文章,但仍然有点不确定,因为这将是我第一次尝试使用 firebase(或 expo)部署任何东西。
    • 在您看来,您认为我应该让规则更具体吗(请记住,这实际上只是作为一个演示应用程序,我不认识的任何人都不太可能看它) .目前我的规则是为所有授权用户设置读/写访问权限。我只设置了电子邮件/密码登录(而且我目前没有验证电子邮件)。
    • 这完全取决于您希望或需要在您的应用中实现多少安全性,以及如何定义它。
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2020-12-20
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2021-05-18
    相关资源
    最近更新 更多