您在哪里存储您在javascript网络应用中使用的第三方API ApiKey?

Liu*_*Liu 6 javascript frontend app-id api-key reactjs

如何以及在何处存储您在javascript Web应用程序中使用的第三方API ApiKey(又名AppId,AppSecret,AppKey)?如果在获取URL中使用它并且在浏览器网络选项卡中可见,我是否应该保密?

示例:在我的React应用程序中,我使用OpenWeatherMap服务.我需要在他们的网站上注册并获取apikey,然后我使用URL请求数据:

http://api.openweathermap.org/data/2.5/weather?APPID=96547d41585ab16c48ee1evtm1bb1g8&q=London,uk

我上面的网址中的appid与我的帐户相关联,我可以使用此appid执行的请求数量有限.所以我想让这个appid对任何人都隐藏起来.是否可以在React app中这样做?

Siy*_*iya -1

有许多替代方案可以安全存储 API 密钥和机密。其中一些允许您使用 Git 存储库并加密敏感数据。其他工具更加复杂,可以在部署工作流程中解密敏感信息。

最流行的工具是(当然,您的选择取决于您的品味以及您的构建基础和用途)

  1. git-remote-gcrypt(让你加密整个存储库。所以非常安全:))
  2. git-secret(让您在推送特定文件之前在本地对其进行加密)
  3. BlackBox(或多或少与#2相同,但也支持加密小字符串)
  4. Heroku 配置和配置变量(如果在 Heroku 上)(让您通过配置变量访问敏感信息,这是您放置密钥的位置)
  5. Docker Secrets(允许您定义加密变量并使其在运行时可用于特定服务。秘密在传输过程中和静态时都会加密。)

在我看来,#5 是最好的。但就像我说的,这完全取决于你。

  • 这些选项如何保护 Web 应用程序内的 API 密钥? (5认同)