javascript - "hide"API key 在哪里

标签 javascript api security algolia

我的问题是关于在哪里以及如何:

  1. 隐藏 API key
  2. 在我的 app.js 文件中访问隐藏的 API key

在这种情况下,我正在处理一个 Algolia Admin API key (但旨在以一种相当通用的方式提出这个问题)。

为了让我的应用正常运行,我需要根据某些用户操作更新我的 Algolia 索引(这需要一个管理 API key 才能执行)。

我知道我不应该将我的管理 API key 暴露给前端(即不要将它放在我的 app.js 文件中)。如何安全地将我的 API 管理 key 传递到我的 app.js 文件,以便我可以更新我的 Algolia 索引?

我遇到的一些事情:

-我应该将它隐藏在 config.json 文件中吗?我无法弄清楚如何使用从我的 js 中的配置文件导出的信息(无论如何这可能会破坏目的?)。我读了this

- 在 Firestore 文档中,它还提到,在与 Algolia 合作时,“应用程序 ID 和 API key 存储在函数配置变量中”。如何将我的 API key 存储在配置变量中?

-我读了this关于使用环境变量,并将它们导出到 app.js 文件。但是,如果我随后将 app-env 文件推送到服务器(我假设我需要这样做才能让 app.js 文件读取 API key ),这比将它放在文件中更安全吗?

最佳答案

您不能通过任何机制将 key 提供给客户端并保密。

构建 Web 服务(使用您选择的服务器端语言,使用任何合适的身份验证)并编写您自己的 API 以允许执行有限的操作选择。然后,您的 Web 服务充当 Algolia 的客户端。

关于javascript - "hide"API key 在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822525/

相关文章:

php - 使用 Instagram API 获得关注者和关注

php - Symfony2 - 没有 session cookie 的有状态 API key 身份验证

node.js - 如何将常量值与 api get 请求一起发送到 Node 服务器

asp.net - 保护 ASP.NET 中的单个文件

javascript - Jquery获取div的当前标签并填充

javascript - React redux - 父状态改变,但子组件不重新渲染

javascript - 如何找到node中递归运行的函数?

javascript - 溢出-y : Scroll not showing scrollbar in Chrome

security - CSRF 攻击期间如何不可能欺骗 Referer header ?

javascript - 如何限制验证码中的两位数字?