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

Firebase用户删除自身账户时遇权限不足问题求助

解决Firebase删除用户账户权限不足问题

问题原因

你当前的Firestore规则中,.write权限已经覆盖了创建、更新、删除所有写操作,额外添加的.delete规则条件(auth.uid == resource.data.uid)要么属于多余限制,要么因文档中uid字段缺失/值不匹配导致权限验证失败。

解决方案

方案1:简化规则(推荐)

直接保留.write规则即可,它已经允许用户对自己的文档执行删除操作:

{
  "rules": {
    "users": {
      "$userId": {
        ".read": "auth != null && auth.uid == $userId",
        ".write": "auth != null && auth.uid == $userId"
      }
    }
  }
}

方案2:保留单独删除权限控制(需确保文档数据正确)

如果需要单独限制删除权限,必须保证users集合下的目标文档中存在uid字段,且字段值与当前登录用户的uid完全一致。规则可保留但需验证文档数据:

{
  "rules": {
    "users": {
      "$userId": {
        ".read": "auth != null && auth.uid == $userId",
        ".write": "auth != null && auth.uid == $userId",
        ".delete": "auth != null && auth.uid == resource.data.uid"
      }
    }
  }
}

额外检查点

  • 确认users集合下的文档ID与Auth.auth().currentUser?.uid完全一致
  • 若使用方案2,检查目标文档的uid字段是否存在、值是否正确,避免字段名拼写错误
  • 你的Swift代码已校验用户登录状态,这部分无需修改

内容的提问来源于stack exchange,提问作者Anna B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:12:14