expo/react Native 和 SECRET API KEYS

Ivo*_*Ivo 5 api-key react-native expo create-react-native-app

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

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

  • 我在哪里存储我所有的 API KEY 和 API SECRET KEY?有没有一种(简单的)安全的方法来做到这一点,而不必进行身份验证和/或完整的后端。

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

我找到了以下包:

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

我发现以下自述文件:

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

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

看到我的应用程序已完全准备就绪,但出于安全原因我无法将其放到网上,这让我非常沮丧。

非常感谢。

小智 3

正如您所说,您提出的解决方案将无法保护您在生产中的密钥。

唯一的方法是使用后端。

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