Firebase 存储安全规则游乐场 "Simulated read denied"
Firebase Storage security rules playground "Simulated read denied"
我希望我的用户只能读写他自己的数据但是。当我测试规则时,我收到消息“模拟器读取被拒绝”。请告诉我哪里错了?感谢您的宝贵时间。
这里是一些信息:
规则
service firebase.storage {
// Only a user can upload their file, but anyone can view it
match /users/{userId}/{fileName} {
allow read ;
allow write: if request.auth != null && request.auth.uid == userId;
}
}
位置
/b/online-notepad-d43d2.appspot.com/o/WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt
提供商
"password"
FIREBASE UID
WkqtgpdUYRUGOBaAfmCByXtVPoT2
电子邮件
hgaur701@gmail.com
电子邮件已验证
true
身份验证负载
{
"uid": "WkqtgpdUYRUGOBaAfmCByXtVPoT2",
"token": {
"sub": "WkqtgpdUYRUGOBaAfmCByXtVPoT2",
"aud": "online-notepad-d43d2",
"email": "hgaur701@gmail.com",
"email_verified": true,
"firebase": {
"sign_in_provider": "password"
}
}
}
屏幕截图
我正在使用的确切位置:“/WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt”
还有一件事我从上传按钮上传了这个文件夹和文件。
不是来自 POST 请求。
仍然得到相同的结果:(
这里定义了两个完全独立的子句:
allow read ;
allow write: if request.auth != null && request.auth.uid == userId;
所以你有一个空的读子句和一个非空的写子句。
您可能想使用:
allow read, write: if request.auth != null && request.auth.uid == userId;
编辑第二个问题:正如您在编辑中所说,您正在访问路径 /WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt
,但您的规则只定义了 [=13= 的访问权限].由于您只允许在 /users/...
中访问,而您尝试使用的路径不在 /users
中,因此规则拒绝访问。
我希望我的用户只能读写他自己的数据但是。当我测试规则时,我收到消息“模拟器读取被拒绝”。请告诉我哪里错了?感谢您的宝贵时间。
这里是一些信息:
规则
service firebase.storage {
// Only a user can upload their file, but anyone can view it
match /users/{userId}/{fileName} {
allow read ;
allow write: if request.auth != null && request.auth.uid == userId;
}
}
位置
/b/online-notepad-d43d2.appspot.com/o/WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt
提供商
"password"
FIREBASE UID
WkqtgpdUYRUGOBaAfmCByXtVPoT2
电子邮件
hgaur701@gmail.com
电子邮件已验证
true
身份验证负载
{
"uid": "WkqtgpdUYRUGOBaAfmCByXtVPoT2",
"token": {
"sub": "WkqtgpdUYRUGOBaAfmCByXtVPoT2",
"aud": "online-notepad-d43d2",
"email": "hgaur701@gmail.com",
"email_verified": true,
"firebase": {
"sign_in_provider": "password"
}
}
}
屏幕截图
我正在使用的确切位置:“/WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt” 还有一件事我从上传按钮上传了这个文件夹和文件。 不是来自 POST 请求。
仍然得到相同的结果:(
这里定义了两个完全独立的子句:
allow read ;
allow write: if request.auth != null && request.auth.uid == userId;
所以你有一个空的读子句和一个非空的写子句。
您可能想使用:
allow read, write: if request.auth != null && request.auth.uid == userId;
编辑第二个问题:正如您在编辑中所说,您正在访问路径 /WkqtgpdUYRUGOBaAfmCByXtVPoT2/file1.txt
,但您的规则只定义了 [=13= 的访问权限].由于您只允许在 /users/...
中访问,而您尝试使用的路径不在 /users
中,因此规则拒绝访问。