为什么我们不能仅使用 public apiKey 连接到 node.js 服务器上的 firestore

Why can't we connect to firestore on node.js server using just public apiKey

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

那么为什么我们需要 admin-sdk 来在 node.js 这样的服务器环境中利用 firebase 服务? public apiKeys 会不会很好?

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

请解释一下原因。

谢谢!

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

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

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