Firebase Storage规则用customClaims报错:customClaims属性未定义求助
解决Firebase Storage规则中customClaims未定义的问题
错误原因
Firebase Storage安全规则里,用户的自定义声明(custom claims)不是通过request.auth.customClaims访问的,而是直接挂载在request.auth.token对象下。你之前的代码误用了字段路径,导致系统提示customClaims未定义。
修正后的规则代码
match /b/{bucket}/o { // 仅允许已认证且拥有subscriber角色的用户读取 match /{allPaths=**} { allow read: if request.auth != null && "role" in request.auth.token && request.auth.token.role == "subscriber"; } } }
补充说明
- 新增
"role" in request.auth.token判断,避免因部分用户未配置自定义声明导致规则执行报错。 - 谷歌认证用户的自定义声明会自动同步到
request.auth.token中,只要你已通过Admin SDK正确为用户分配role声明,规则即可正常生效。
内容的提问来源于stack exchange,提问作者Adharsh Chottu
相关产品推荐
相关产品推荐

