Netlify/Create React App secret api 密钥在构建中公开

Netlify/Create React App secret api keys exposed in build

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

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

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

这里有两种不同的情况。谈到 Contentful,您可能正在使用 CDA。这个 API 是只读的并且有自己的标记。将它暴露给 public 并使用 REACT_APP_.

对您的 React 应用程序没有任何危害

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