在Firebase存储规则中使用用户声明
是否可以在Firebase存储规则中使用自定义声明? 看起来这些值无法从那里访问 这是我的规则:在Firebase存储规则中使用用户声明,firebase,firebase-authentication,firebase-storage,firebase-admin,firebase-security,Firebase,Firebase Authentication,Firebase Storage,Firebase Admin,Firebase Security,是否可以在Firebase存储规则中使用自定义声明? 看起来这些值无法从那里访问 这是我的规则: match /b/{bucket}/o { match /{userId}/files/{fileName} { allow read: if request.auth.token.admin == true; } } 这些规则会抛出一个错误: 错误:simulator.rules行[13],列[20]。属性管理员是 对象上未定义 我以前是这样设置userClaims的:
match /b/{bucket}/o {
match /{userId}/files/{fileName} {
allow read: if request.auth.token.admin == true;
}
}
这些规则会抛出一个错误:
错误:simulator.rules行[13],列[20]。属性管理员是
对象上未定义
我以前是这样设置userClaims的:
await admin.auth().setCustomUserClaims(user.uid, {
groupToken: 'abecadlo',
admin: true
});
以下规则应消除警告:
match /b/{bucket}/o {
match /{userId}/files/{fileName} {
allow read: if "admin" in request.auth.token && request.auth.token.admin == true;
}
}
您是否在Firebase控制台上使用了Firebase存储模拟器?Firebase控制台上的Firebase存储模拟器无法使用自定义声明进行模拟。你能尝试使用你的应用程序测试安全规则吗?是-。我不知道你为什么会犯这样的错误——除非你像zkohi问的那样使用模拟器。