【问题标题】:Netlify/Create React App secret api keys exposed in buildNetlify/创建在构建中公开的 React App 秘密 api 密钥
【发布时间】:2019-06-14 08:20:30
【问题描述】:

在 Netlify 主机上构建 create-react-app (v2),需要处理用于支付处理的密钥和从 CMS(内容)中提取的内容。

CRA 正在使用“process.env.REACT_APP”在构建输出中公开密钥,并且 CRA 会覆盖该空间,并且不允许将这些密钥托管在变量空间中并在构建时安全地访问。

是否有关于确保密钥安全的正确方法的最佳实践?

【问题讨论】:

  • 如果这是一个私有存储库,它应该不能向公众公开私钥。此外,您不应该使用process.env.REACT_APP_[*] 来存储应该只对您的构建过程公开的私钥。这些环境变量仅供客户端访问。

标签: reactjs contentful netlify


【解决方案1】:

这里有两种不同的情况。说到 Contentful,您可能正在使用 CDA。此 API 是只读的并且有自己的令牌。通过REACT_APP_ 向公众和您的反应应用程序公开它并没有害处。

不过,支付提供商是另一回事。为此,我建议使用 Netlify 函数来不公开令牌。这样,您的反应应用程序可以使用函数端点并且您的令牌保持安全。 :)

【讨论】:

  • 谢谢斯特凡!我最终按照建议使用了函数。
猜你喜欢
  • 1970-01-01
  • 2023-01-20
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 2020-05-10
  • 1970-01-01
相关资源
最近更新 更多