Wal*_*ank 2 javascript security api algolia
我的问题是关于在哪里以及如何:
在这种情况下,我正在处理一个 Algolia 管理 API 密钥(但旨在以相当通用的方式提出这个问题)。
为了让我的应用程序正常工作,根据某些用户操作,我需要更新我的 Algolia 索引(这需要一个管理 API 密钥才能执行)。
我知道我不应该向前端公开我的管理 API 密钥(即不要把它放在我的 app.js 文件中)。我如何安全地将我的 API 管理密钥传递到我的 app.js 文件,以便我可以更新我的 Algolia 索引?
我遇到的一些事情:
- 我应该将它隐藏在config.json文件中吗?我无法弄清楚如何使用从我的 js 中的配置文件导出的信息(无论如何这可能会破坏目的?)。我读了这个
- 也在 Firestore 文档中提到,在与 Algolia 合作时,“应用 ID 和 API 密钥存储在函数配置变量中”。如何将我的 API 密钥存储在配置变量中?
- 我阅读了有关使用环境变量并将它们导出到 app.js 文件的内容。但是,如果我随后将 app-env 文件推送到服务器(我认为我需要这样做才能让 app.js 文件读取 API 密钥),这比将其放入文件中更安全吗?
您不能通过任何机制将密钥提供给客户并保密。
构建一个 Web 服务(使用您选择的服务器端语言,使用任何适当的身份验证)并编写您自己的 API 以允许执行有限的操作选择。然后,您的 Web 服务充当 Algolia 的客户端。