我只有一个简单的前端 React/Vite 应用程序(用于 AWS Cognito 登录),没有后端。
我的所有环境变量都位于前缀为“VITE_”的 .env 文件中。
构建应用程序(vite build)时如何保守秘密?
现在,它们出现在 dist/assets 文件中,从而可以在浏览器中读取,这是有道理的,但肯定不是我想要的。 (其中一些是用于访问 AWS Cognito 池的凭证和密码)。
谢谢
使用 Vite 构建前端应用程序时,任何以 VITE_ 为前缀的环境变量都会暴露给客户端代码。这是设计使然,因为这些变量需要在构建时可用才能配置您的应用程序。但是,这意味着敏感信息(例如凭据和密码)永远不应该存储在这些环境变量中,因为它们将在最终构建中暴露。
您可以设置一个简单的后端服务器来处理敏感操作。这样,您就可以在服务器上保守秘密,并且永远不会将其暴露给客户端。