【问题标题】:How do I protect my API keys in my React App?如何在我的 React 应用程序中保护我的 API 密钥?
【发布时间】:2018-01-15 02:35:34
【问题描述】:

如何继续保护我的 react 应用程序中的 api 密钥?我是否使用 express 进行设置?我正在尽力避免自己在服务器上构建任何东西来从那里进行 API 调用。我只使用 firebase 作为我的后端,但我正在使用某些服务,例如 emailjs。无论如何都可以在不将其暴露在我的客户端代码中,而不在我自己的服务器上执行任何操作的情况下对 emailjs 进行此调用? Emailjs 不提供任何加密或白名单。

emailjs.init("API_KEY");

【问题讨论】:

  • 唯一的方法是将它们保存在服务器上并从那里发出请求。发送给客户的任何内容都不是安全的
  • 因此,即使我尝试仅使用 firebase 作为后端,我仍然需要使用 php 创建一些东西来为我进行这些 API 调用?
  • 不能设置environment vars in Firebase吗?
  • 只做一个中间件,不是很难。您告诉应用程序使用它,当请求进入时,它会添加API_KEY 并且数据会保留在您的服务器上。该值不应该出现在用户浏览器中,如果出现,您将无法保护它。用户是否经过身份验证?无论如何,您可能应该对此请求进行 CSRF 保护,这将需要您执行快速中间件。
  • 我认为您根本不应该在客户端代码中执行此操作。如果您需要在客户端代码中获得读取权限,请尝试查看它们是否提供可发布密钥。

标签: javascript node.js api reactjs security


【解决方案1】:

您应该使用 Firebase 函数来进行 API 调用,因为您已经在使用 firebase。见这里:https://firebase.google.com/docs/functions/use-cases#integrate_with_third-party_services_and_apis

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 2019-01-12
    • 2011-06-23
    • 2013-03-26
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多