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

如何在Cloud Firestore规则中访问用户自定义声明custom claims?

Cloud Firestore 自定义声明访问修复方案

你当前代码无法生效的核心原因是自定义声明的访问路径错误。在Firebase安全规则体系中,包括自定义声明在内的所有用户身份属性,都挂载在request.auth.token对象下,而非request.customClaims。

修改后的规则代码如下:

match /companies/{document=**} {
  allow read: if request.auth != null;
  allow write: if request.auth != null && request.auth.token.role == "admin";
}

额外注意事项:

  • 自定义声明设置完成后,最长需要1小时才能同步到所有Firebase服务的安全规则中,刚设置完测试不生效可以等待同步完成,或让用户重新登录触发身份信息刷新
  • 规则判断时注意值的类型匹配,如果你设置的role值为字符串类型,规则判断时要加引号,避免类型不匹配导致校验失败
  • 可以增加额外的判空逻辑避免空指针报错,示例:request.auth != null && "role" in request.auth.token && request.auth.token.role == "admin"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:48:04