首页 > 解决方案 > 我可以打破规则并在客户端使用 firebase-admin 吗?还是试图解决错误是徒劳的?

问题描述

想为我的 Firebase 项目创建一个系统管理页面,有什么办法可以打破规则并在客户端浏览器上使用 firebase-admin SDK?

我遇到的第一个问题是使用 admin initializeApp 函数成功初始化后使用 firebase/database SDK,我收到错误“TypeError: rtdb.initStandalone is not a function”。我应该继续尝试解决这个问题,还是以不同的角度来解决它。理想情况下,我宁愿不必使用对服务器的调用,或者使用具有“超级用户”权限的 firebase auth。

标签: javascriptfirebasefirebase-admin

解决方案


Firebase Admin SDK 只能在特权环境中运行,例如您的服务器或Firebase Cloud Functions。它提供在客户端上不安全的直接管理访问。

Admin SDK 允许您在特权环境中与 Firebase 交互以执行以下操作:

  • 以完全管理员权限读取和写入实时数据库数据。
  • 使用 FCM 服务器协议的简单替代方法以编程方式发送 Firebase 云消息传递消息。
  • 生成并验证 Firebase 身份验证令牌。
  • 访问与您的 Firebase 项目关联的 Cloud Storage 存储分区和 Firestore 数据库等 Google Cloud Platform 资源。
  • 创建您自己的简化管理控制台来执行诸如查找用户数据或更改用户的电子邮件地址以进行身份​​验证等操作。

如果您有兴趣使用 Node.js SDK 作为最终用户访问的客户端(例如,在 Node.js 桌面或 IoT 应用程序中),而不是从特权环境(如服务器)进行管理员访问,您应改为遵循设置客户端 JavaScript SDK 的说明


推荐阅读