想为我的Firebase项目创建系统管理页面,有什么办法可以打破规则,并在客户端浏览器上使用firebase-admin SDK?
我遇到的第一个问题是使用admin initializeApp函数成功初始化后使用firebase / database SDK,但出现错误“ TypeError:rtdb.initStandalone不是函数”。我应该继续尝试解决这个问题,还是换个角度来看。理想情况下,我希望不必使用对服务器的调用,也不必使用具有“超级用户”权限的firebase auth。
答案 0 :(得分:2)
Firebase Admin SDK仅应在特权环境中运行,例如服务器或Firebase Cloud Functions。它提供在客户端上不安全的直接管理访问。
借助Admin SDK,您可以从特权环境中与Firebase交互以执行以下操作:
- 以完全的管理员权限读写实时数据库数据。
- 使用一种简单的替代方法对FCM服务器协议以编程方式发送Firebase Cloud Messaging消息。
- 生成并验证Firebase身份验证令牌。
- 访问Google Cloud Platform资源,例如与您的Firebase项目关联的Cloud Storage存储桶和Firestore数据库。
- 创建您自己的简化管理控制台,以执行诸如查找用户数据或更改用户的电子邮件地址进行身份验证之类的事情。
如果您有兴趣将Node.js SDK用作最终用户访问的客户端(例如,在Node.js桌面或IoT应用程序中),而不是从特权环境(例如服务器)进行管理员访问),而应遵循instructions for setting up the client JavaScript SDK。