Firebase浏览器密钥API限制

时间:2019-02-04 22:57:32

标签: firebase firebase-authentication google-cloud-firestore

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

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

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

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

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

2 个答案:

答案 0 :(得分:6)

我也启用了这两个API,但是我使用Metrics Explorer来根据实际流量查看Firebase创建的各种密钥在使用什么。

在GCP中,

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

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

如果结果太吵,则可以使用“过滤器”按credential_id进行过滤。

答案 1 :(得分:0)

<块引用>

默认key没有限制,所以很容易出现quota 窃取为该项目启用的每个 API。

这确实是可能的,而且我能够制作 e。 G。使用自动生成的 Firebase API 密钥调用 Google Maps API。

这种预先配置的行为肯定出乎意料,我现在正在按照原始问题中描述的额外步骤试验这些限制。