node.js - 如何只允许特定用户在 Firebase 中创建新用户?
问题描述
有很多关于在 Firebase 实时数据库中限制特定用户的读/写访问的帖子和讨论。但是,我无法找到将新用户的创建限制为仅限特定用户/管理员的方法。
我的应用程序由经理和员工组成。只有经理应该能够将新用户(员工)添加到数据库中,同时可以访问员工无法访问的特定数据。据我了解,Firebase 提供的 API 意味着任何客户端都可以创建新用户。
有人可以指导我如何实现这一目标吗?
解决方案
您可以执行以下操作:
首先,在您的数据库中创建一个admins
节点,您可以将 admin/manager 用户及其 userId 添加到该节点,如下所示:
- admins
- Br8kiG5....
- users
- Abcd88676....
- ....
- JHgU76hgh....
- ....
其次,设置一些安全规则如下,
{
"rules": {
"users": {
".write": "auth != null && root.child('admins').hasChild(auth.uid)",
".read": .....
".indexOn": .....
},
.....
}
}
第三,在您的应用中实现 Firebase 身份验证,只有admins
数据库节点下列出的用户才能在该users
节点下写入。
推荐阅读
- c++ - 运行 shell 命令并获取 PID 创建的进程
- javascript - 如何在点击时获取 wms 图层名称。我以不同的方式尝试了它,但我没有得到。我以这种方式有 3 个 wms 层
- autohotkey - AutoHotKey - 点击图片
- ios - 如何使用 setMethodCallHandler
- avfoundation - AVAssetWriter 无需重新编码
- android - 在 WebView 中无限处理付款
- wordpress - wordpress / WooCommerce 为珠宝定制产品插件
- botframework - bot framework V4上Dialog实现的清晰解释
- spring - 如何将 Spring RMI 服务器与作为非 Spring Swing GUI 的纯 Java RMI 客户端集成?
- release - 应该如何对相互关联的软件包进行版本控制?