在Netlify主机上构建create-react应用程序(v2),需要处理支付处理和CMS(Contentful)内容提取的密钥。
CRA使用"process.env.RREACT_APP"在构建输出中暴露密钥,CRA重写空间,不允许这些密钥托管在可变空间中,并在构建时安全访问。
是否有正确类型的方法来确保密钥安全的最佳实践?
这里有两种不同的情况。说到Contentful,您可能正在使用CDA。此API是只读的,并且有自己的令牌。将其公开给公众和使用REACT_APP_
的react应用程序不会有任何危害。
然而,支付提供商则是另一回事。为此,我建议使用Netlify函数不公开令牌。通过这种方式,您的react应用程序可以使用函数端点,并且您的令牌保持安全。:)