reactjs - 当我需要我的 React 应用程序的 API 密钥时,直接从 AWS amplify 访问环境变量是否被认为是一种安全的做法?
问题描述
当我部署我的应用程序时,我不想在我的源代码中显示几个 API 密钥。
该文档警告以下内容:
WARNING: Do not store any secrets (such as private API keys) in your React app!
Environment variables are embedded into the build, meaning anyone can view them by inspecting your app's files.
我通过从本地.env
文件中获取密钥来访问我的变量。我假设 AWS Amplify 的过程类似:
accessKeyId: process.env.REACT_APP_ACCESS_KEY_ID,
secretAccessKey: process.env.REACT_APP_SECRET_ACCESS_KEY
我经常读到有人能找到我的钥匙,只要他们“知道去哪里找”。我是否采取了适当的措施来防止这种情况发生?我在 Firefox 的调试器中浏览了我的文件,但在那里找不到我的.env
文件。
该.env
文件已添加到我的.gitignore
文件中,因此它在我的远程存储库中不存在。
解决方案
这是一个非常常见的用例。许多客户使用AWS Systems Manager Parameter Store在运行时存储和检索凭证。这是描述该过程的博客文章。
推荐阅读
- c++ - 在 C++ 中,在库之间转换相似类的最佳方法是什么?
- r - 为什么 PCA geom_point 形状包含未指定的因素?
- python - 生成最多 d 个不匹配的所有排列
- python - Python 请求:下载数据:image/jpeg;base64
- python - Python subprocess.communicate stderrdata 不打印
- mesh - 从非结构化网格重采样标量场到矩形网格
- javascript - XMLHttpRequest 意外返回通信错误
- mongodb - Mongodb聚合,将子文档数组转换为单个对象
- node.js - pdf中的数字签名
- laravel - Laravel 使用身份验证用户绑定类