如何使用 Angular 8/9 隐藏 API 密钥? [复制]
Posted
技术标签:
【中文标题】如何使用 Angular 8/9 隐藏 API 密钥? [复制]【英文标题】:How to hide API Keys with Angular 8/9? [duplicate] 【发布时间】:2021-02-17 01:20:24 【问题描述】:我正在尝试调用 Firebase API。要调用此 API,我们需要指定用户配置密钥。如何在我的代码中隐藏这个键?我不知道该怎么做。
如果我使用 environment.ts 文件,在构建之后,这些键会暴露在 main.js 文件中。
main.js Keys Exposed
有什么办法可以避免这些key在main.js文件中暴露?
【问题讨论】:
这能回答你的问题吗? Angular 6, should I put secret environment variables in environment.ts file? 您无法获取 Firebase 配置数据 - 这是您的客户端应用访问 Firebase 所需的公共信息。 【参考方案1】:Firebase 的设计使您不必隐藏这些键。
请参考文档here并摘录如下:
与通常使用 API 密钥的方式不同,Firebase 服务的 API 密钥不用于控制对后端资源的访问;这只能通过 Firebase 安全规则来完成。通常,您需要严格保护 API 密钥(例如,通过使用保管库服务或将密钥设置为环境变量);但是,Firebase 服务的 API 密钥可以包含在代码或签入的配置文件中。
【讨论】:
以上是关于如何使用 Angular 8/9 隐藏 API 密钥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
隐藏来自浏览器开发者工具网络的 Angular API 调用
Android Management API - Kiosk 模式下的单个应用程序 - 如何隐藏状态和导航栏?
在 Kendo UI Chart Angular 2 中隐藏网格线