为方便阅读此问题,请参阅以下URL:
网址定义:name: count, value: 5
name: i, value: 1
name: books, value: 2
name: fairies, value: 87
name: water, value: 0
我测试了两种不同的安全方案 - 安全性和无安全性。无论是Firebase模拟器还是现实生活中。如下。
无-security.json:url1 = 'https://my-firebase.firebaseio.com/users/user-id/settings';
url2 = url1 + '.json';
与-security.json:
{
"rules": {
".read": true,
".write": true
}
}
现在,考虑一下Firebase模拟器与现实生活测试的不同结果。
检测结果:{
"rules": {
"users": {
"$uid": {
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid",
"settings": {}
}
}
}
}
Security Simulator Real life
-------- --------- ---------
url1 No (untested) Fails (without error message)
url2 No (untested) Success!
url1 Yes Success! Fails (without error message)
url2 Yes Invalid path. Simulation aborted. POST <url2> 401 (Unauthorized)
规则?答案 0 :(得分:0)
@FrankvanPuffelen answers here:
您的两个问题都是由于您使用两种不同的方式访问Firebase:JavaScript SDK和REST API。虽然这两种方法可以一起使用,但您必须确保提供所需的信息。一般来说,如果您坚持使用一种从单个客户端访问Firebase的方式,您将获得更轻松的体验。