如何在服务器上存储和访问API密钥

时间:2020-05-04 04:31:01

标签: reactjs api server key

我正在开发一个Web应用程序,后端在树莓派上运行,并从一些站点抓取天气,风和海况数据,然后将它们存储在jsonbin.io上的bin中

我的前端是用React制成的,它使用我想保密的秘密密钥访问json数据。

我找到了很多教程,它们解释了如何在.env文件中存储秘密密钥,但是它们都继续说'如果要在部署后将其保密,则必须将其存储在服务器后端中并实施自己的逻辑来访问它。”但是我找不到任何有关如何实际操作的教程。

有人说您的秘密密钥是否可访问并不重要,因为您可以在api中控制源ip来限制无论谁都可以访问您的api。 Jsonbin.io没有该功能。


我的问题是:

  • 人们是否可以访问我的密钥真的不重要吗?我是否应该将json数据存储在允许我设置原始IP的地方?

  • 是否有任何技巧或教程,任何人都可以向我指出,其中包含有关如何在服务器上存储和访问API密钥的说明?还是您需要具有专业的服务器经验才能执行此类操作?

我正在a2hosting.com上使用共享服务器

谢谢。

1 个答案:

答案 0 :(得分:0)

我会说这取决于您想要的安全性。

如果这只是您自己的网站,那么您可以选择以下多种选择:

  • 使用特定IP或某些内容(但我不知道a2hosting.com是否支持它)限制对前端的访问,然后仅将私钥放在前端中即可。
  • 实施带有后端的身份验证系统,使您可以检查用户是否合法等

    • 如果人们访问您的数据并不重要,您也不会付更多钱,您也可以将其放在前端。

    • 但是,如果它只是您的网站,但希望在不添加auth或后端的情况下保持安全,则可以选择从本地存储或cookie(在前端)中读取jsonbin令牌。 (并且您可以在chrome或firefox调试存储标签中自行设置),因此网站的随机访问者会遇到错误,因为他们没有设置正确的本地存储令牌,但您可以为其设置