【发布时间】:2020-05-11 00:31:51
【问题描述】:
基本上,我试图找出一种方法来获取用户的电子邮件地址,而无需在我的应用程序的某个网页上进行任何身份验证。也就是说,我的 Firebase 规则不允许读取用户的文档以避免泄漏等。
总而言之:我怎样才能阻止人们阅读用户的文档,但仍然让他们可以搜索以获取一些数据(即电子邮件地址)?
已经谢谢了!
为了清晰而编辑:
这是我对用户表的规则:
match /users/{userId} {
allow read: if belongsTo(userId);
allow create: if belongsTo(userId);
allow update: if belongsTo(userId);
allow delete: if false;
}
现在,在我网站的某个页面上,我需要获取某个用户的信息(这是动态的):有时我需要获取 用户 Bob 的信息,有时可能是 用户 Doe。
但是,如果您未通过身份验证并且文档不属于您,我的规则现在禁止任何人获取任何用户的文档信息。
那么在我的代码中基本上绕过这条规则allow read: if belongsTo(userId); 的最佳方法是什么。我在想也许一个 HTTP 请求可以帮助我使用云功能,但我不知道如何实现那个。
我希望这样可以更清楚。再次感谢。
【问题讨论】:
-
目前尚不清楚您要在这里实现什么。您能否编辑问题,显示您希望根据特定条件允许和拒绝的实际数据和查询的一些示例?
-
@DougStevenson 刚刚编辑。我希望现在好些了,很抱歉造成混乱。
-
另外,更改该规则不是一种选择,因为这些文档中存在敏感数据,我不希望任何人除了我之外能够获得这些数据。
标签: firebase vue.js google-cloud-firestore firebase-security