You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase实时数据库规则:如何查询UID所属用户及规则作用?

Firebase实时数据库规则相关问题解答

一、规则的具体作用

  • 该规则为数据库内的people节点设置了严格的读写权限控制:
    • 读取权限:仅当登录用户的Firebase认证UID精确匹配AIza...时,才能读取people节点下的所有数据;其他用户无法访问该节点的任何内容。
    • 写入权限:仅当登录用户的Firebase认证UID精确匹配AIza...时,才能对people节点执行新增、修改、删除等写入操作;其他用户没有任何修改该节点数据的权限。
    • 这里的auth.uid是Firebase Auth为每个登录用户分配的唯一标识,规则通过对比这个标识与指定字符串,实现了单用户独占people节点权限的效果。

二、查询该UID对应的用户方法

1. 通过Firebase控制台查询

作为项目管理员,直接在控制台操作:

  • 打开Firebase控制台并进入目标项目
  • 点击左侧菜单栏的「认证」选项
  • 在用户列表顶部的搜索框中输入AIza...,即可找到匹配UID的用户,查看其邮箱、创建时间等信息。

2. 通过代码查询(后端/管理端)

如果需要通过代码获取该用户信息,需使用Firebase Admin SDK(仅适用于后端或拥有管理权限的环境),示例代码(Node.js):

const admin = require("firebase-admin");

admin.initializeApp();

admin.auth().getUser("AIza...")
  .then((userRecord) => {
    console.log("用户详情:", {
      uid: userRecord.uid,
      email: userRecord.email,
      displayName: userRecord.displayName,
      createdAt: userRecord.metadata.createdAt
    });
  })
  .catch((error) => {
    console.error("查询用户失败:", error);
  });

注意:前端客户端无法直接调用此接口,因为普通用户没有查询其他用户信息的权限,必须在后端使用服务账号密钥进行认证后才能执行。

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:16:24