首页 > 解决方案 > 为什么我们不能仅使用公共 apiKey 连接到 node.js 服务器上的 firestore

问题描述

在我的 React 项目中,我使用 firebase public apiKeys 来访问身份验证和 firestore 等服务。所以这意味着我们不需要使用admin-sdk.

那么为什么我们需要 admin-sdk 在 node.js 等服务器环境上利用 firebase 服务呢?公共 apiKeys 不会做得很好吗?

我的意思是客户端是公开的,而服务器只能由组织的经理和开发人员访问。

请解释我这样做的原因。

谢谢你!

标签: firebasegoogle-cloud-firestorefirebase-admin

解决方案


客户端 SDK 可以访问 Firestore、Storage 等资源,但对这些服务的请求需要通过安全规则。

Admin SDK 绕过了安全规则——因此 Admin SDK 需要在安全的环境中运行。

不过,要回答您的特定查询 - 您可以在 Node.js 环境中使用 Javascript Client SDK - 但您必须记住,请求将受您为 Firebase 资源定义的安全规则的约束。如果您使用 Admin SDK,您的请求将绕过安全规则。


推荐阅读