reactjs - 安全地管理托管在 Cloudfront Distribution 后面的 S3 中的 React 应用程序的配置数据
问题描述
设置
- 反应 - v16.6.3
- S3 存储桶 - 为静态网站托管配置
- CloudFront 分发 - 以上述 S3 存储桶为源
- Cognito - 管理用户访问
- SSM 参数存储 - 管理配置数据和机密
问题
我们使用一个awsConfig.js
文件来处理 React 应用程序与 AWS Cognito 服务通信所需的配置信息。
export default {
cognito: {
REGION: xxxx,
USER_POOL_ID: xxxx_xxxx,
APP_CLIENT_ID: xxxx,
IDENTITY_POOL_ID: xxxx
}
};
使用这个文件意味着我们在浏览器中暴露了一些我们想要避免的配置信息。
到目前为止我尝试过的
使用 AWS SSM Parameter Store 保存这些值,然后在awsConfig.js
文件中将它们作为环境变量引用。但是我遇到了这里描述的问题- 因为应用程序是静态托管的,所以您不能动态调用内容。
问题
- 如何安全地调用以这种方式托管的 React 应用程序的配置数据?
- 有必要混淆这种类型的配置数据吗?
解决方案
推荐阅读
- javascript - 在任意深度的嵌套数组中查找值
- c - PostgreSQL:我的 C (libpq) 程序如何检测哪个表约束触发了错误?
- ruby-on-rails - 如何在 Rspec 中测试环境变量的存在
- woocommerce - 如何为每个项目、每个用户和每个日期设置 WooCommerce 订单的最大限制
- c# - CanFreeze 返回 false,因为 Freezable 上的 DependencyProperty 的值是一个表达式
- javascript - 渲染在反应中不起作用
- coldfusion - 在 Coldfusion/Lucee 中尝试 / 接住 / 投掷 / 最后 / 重新投掷
- python - 如果文本文件中包含带有用户输入的特定字符串,如何更新文本文件中的行?
- javascript - 无法从 laravel 控制器获取输入值
- laravel - 加入表 laravel 并保留第一个表 id