Firebase 浏览器密钥 API 限制

dba*_*mov 16 firebase firebase-authentication google-cloud-firestore

创建新项目时,Firebase 在GCP API 凭证中自动生成浏览器 API 密钥。这与 Firebase Web 客户端 SDK 中设置的 API 密钥相同,并且是公开可用的。

默认情况下,密钥没有限制,因此很容易为该项目启用的每个 API 窃取配额。令人惊讶的是,我没有在 Firebase 文档中找到有关保护此密钥的信息。

所以我采取了两个额外的步骤来保护密钥:

  1. 添加了 HTTP 引用限制以仅允许来自我的域的请求。
  2. Identity Toolkit API添加到允许的 API 列表中。通过实验,我发现 Firebase Auth 和 Firestore 足以工作。
  3. 添加了令牌服务 API。这是刷新令牌工作并保持身份验证所必需的。

我的问题主要与第 2-3 点有关。Firebase 的各种组件需要启用哪些 API 才能在网络上运行?

Cha*_*oes 7

我还启用了这两个相同的 API,但我使用 Metrics Explorer 查看基于实际流量的各种 Firebase 创建的密钥使用了什么。

在 GCP 中,

  • 转到监控 -> 指标资源管理器
  • 点击图表上方时间范围内的6W
  • 资源类型,开始输入consumed_api并选择它
  • 指标,选择请求计数
  • 分组依据,键入credential_id,选择它,然后键入service,然后选择它
  • 聚合器,选择 sum

现在,图表的图例应列出所有凭证 ID 以及他们在过去 6 周内使用的服务。您应该能够从服务中找出 API。

credential_id如果结果太嘈杂,您可以使用过滤器进行过滤。