我正在处理基于ionic的firebase-realtime-database,您能建议我如何为安全规则$ uid === auth.uid提供auth.uid吗?我想以当前正在处理拒绝访问的那个节点的所有者的身份读取uid内部的数据。
我拥有的安全规则是
rules {
"info": {
"$uid": {
".read": $uid === auth.uid,
}
}
}
这是用于数据库json节点
{
info: {
f3de4734-8fb2-42bd-971d-8e693f8aab3b: { // uid of dummy@gmail.com
01: {
name:jay
age:16
}
}
}
}
我已经尝试使用“ signInWithEmailAndPassword()”函数进行身份验证,但是似乎我仍然无法以该uid节点的所有者身份访问数据。
try {
var r = await this.fAuth.auth.signInWithEmailAndPassword(
"dummy@gmail.com",
"123456"
);
if (r) {
console.log("Successfully logged in!");
await this.getafdData(); \\\ get the data when login
}
} catch (err) {
console.error(err);
}
async getafdData(){
var firebaseRef = this.afd.database.ref();
let data = await new Promise(function(resolve,reject){
return firebaseRef.child('info/')
.on("child_added", function(snapshot) {
console.log(snapshot.val());
//resolve(data);
}, function(err) {
console.log(err);
reject(err);
})
});
return data;
}
您能告诉我我在做什么错吗?或更确切地说,为了达到规则 $ uid === auth.uid