用户列表最佳实践的Firebase规则?
不知何故,我对firebase规则的理解仍然存在问题,需要你们的一些意见 假设我有一个包含所有用户的用户节点。每个用户都包含电子邮件、姓名、电话等的子节点 我的基本firebase规则现在表明,只有具有正确id的用户才能在自己的节点中编辑/写入/读取。这一切都很好。但是现在我确实遇到了类似于另一个用户搜索朋友的情况,例如,我需要在所有用户中搜索姓名或电子邮件,但是由于我的规则不允许读取用户数据,除非用户是自己数据的所有者,我不知道如何解决这个问题。我无法使用规则为每个经过身份验证的用户授予其他用户数据的读取权限,但我仍然希望搜索其他用户数据中的电子邮件地址。这让我很困惑 我所能想到的唯一一件事就是并行运行一个完整的独立列表,其中包含一些类似于公共信息的内容,并保持每个人都可以在列表中阅读(而不是书写)的规则。但是我又遇到了一个问题,如果我把我的整个用户列表(比如电子邮件)都放在公共列表中,有人可能会很容易地访问到我的整个用户列表 如果有人能给我指出正确的方向,我会很高兴。我不知道从哪里开始设置,从正确的开始用户列表最佳实践的Firebase规则?,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,不知何故,我对firebase规则的理解仍然存在问题,需要你们的一些意见 假设我有一个包含所有用户的用户节点。每个用户都包含电子邮件、姓名、电话等的子节点 我的基本firebase规则现在表明,只有具有正确id的用户才能在自己的节点中编辑/写入/读取。这一切都很好。但是现在我确实遇到了类似于另一个用户搜索朋友的情况,例如,我需要在所有用户中搜索姓名或电子邮件,但是由于我的规则不允许读取用户数据,除非用户是自己数据的所有者,我不知道如何解决这个问题。我无法使用规则为每个经过身份验证的用户授予其他用
这样做的最佳方法是什么?嘿,我不是专业人士,也不是Firebase的附属机构。但是,由于我遇到了同样的问题,我与你们分享我的想法
_makeRequest: function() {
this.user.getIdToken().then(function(token) {
//token is a long string JWT token used to identify the user to a Firebase service.
var req = new XMLHttpRequest();
req.onload = function() {
/*you return the result in your function*/
if (JSON.parse(req.responseText).rslt === "SUCCESS") {
}
}.bind(this);
req.onerror = function() {
}.bind(this);
/*attaching location key*/
req.open('GET', 'https://us-central1-rest-of-function-address-found-in-
firebase-functions', true);
req.setRequestHeader('Authorization', 'Bearer ' + token);
req.send();
}您还可以通过向数据库中写入一些内容来实现这一点,并有一个运行onCreate()的函数,如需有关的详细信息,请参阅此处。希望这有帮助 嘿,我不是专业人士,也不是Firebase的会员。但是,由于我遇到了同样的问题,我与你们分享我的想法
emails: {
"theeben@domain,com": "uid5601401",
"puf@theotherdomain,com": "uid209103"
}