expo / react Native 和 SECRET API KEYS

expo / react Native and SECRET API KEYS

我对 expo 和 react-native (create-react-native-app) 很陌生,我遇到了一个问题,经过多次研究后我看到了问题,但没有找到解决方案。

我开发了我的应用程序,它应该只是前端,不需要数据库或身份验证,但我仍然需要使用 Google Places API 和电子邮件发送提供商 API(可能是 sendgrid、mailjet...)我正面临这个问题,我认为我不会是第一个面对的人:

我到处都读到你不应该在你的应用程序中存储任何秘密密钥,我明白为什么。但是我在任何地方都找不到一个简单的解决方案?

我找到了以下包:

https://github.com/goatandsheep/react-native-dotenv 但我怀疑它能否解决这个问题,因为它还会将所有内容保留在应用程序中。

我找到了以下自述文件:

https://github.com/EQuimper/blog/blob/master/content/post/where-do-i-put-secret-key-in-expo-project.md 但我真的不认为它能保证任何安全。

我真的希望有人能引导我找到解决这个问题的最简单的方法。如果解决方案是:拥有后端并使用此身份验证服务,请多多开发它(任何地方的任何教程或其他信息?)

看到我的应用程序已完全准备好,但出于安全原因我无法在线安装,这让我感到非常沮丧。

非常感谢。

正如您所说,您提出的解决方案不会用于保护您在生产中的密钥。

唯一的办法就是使用后端。

您可以使用 JSON Web Tokens 通过加密发出授权请求,以在前面接收该数据。 这样客户将无法看到任何机密信息,只能通过我们的渠道间接且始终使用密钥。

如果您的应用支持来宾用户访问,您可以尝试移动应用证明解决方案。在此处阅读更多相关信息