firebase - 为什么我们不能仅使用公共 apiKey 连接到 node.js 服务器上的 firestore
问题描述
在我的 React 项目中,我使用 firebase public apiKeys 来访问身份验证和 firestore 等服务。所以这意味着我们不需要使用admin-sdk
.
那么为什么我们需要 admin-sdk 在 node.js 等服务器环境上利用 firebase 服务呢?公共 apiKeys 不会做得很好吗?
我的意思是客户端是公开的,而服务器只能由组织的经理和开发人员访问。
请解释我这样做的原因。
谢谢你!
解决方案
客户端 SDK 可以访问 Firestore、Storage 等资源,但对这些服务的请求需要通过安全规则。
Admin SDK 绕过了安全规则——因此 Admin SDK 需要在安全的环境中运行。
不过,要回答您的特定查询 - 您可以在 Node.js 环境中使用 Javascript Client SDK - 但您必须记住,请求将受您为 Firebase 资源定义的安全规则的约束。如果您使用 Admin SDK,您的请求将绕过安全规则。
推荐阅读
- java - 如果它显示一个错误要求我检查此日志文件,我需要修复哪些错误才能启动我的 Eclipse?
- android - android ble connectGatt 超时
- java - 超过 1 小时后,Alarmmanager 不会触发服务 - 或者当应用程序处于打瞌睡状态时...... - Android Oreo
- macos-mojave - macos无法连接到L2TP服务器
- javascript - 如何编写将数组作为参数的javascript循环函数?
- arrays - 按值排序 [String: [String: Any]] 类型的字典
- assembly - 如何在另一个子程序中调用一个子程序?
- php - TYPO3 Hook 用于多种语言的预览
- java - 如何修复 JAVA 中的 JSON 格式问题?
- rest - 要通过 REST API 联系的 Dialogflow 代理实体