首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只允许用户的朋友看到对方的信息?

只允许用户的朋友看到对方的信息?
EN

Stack Overflow用户
提问于 2022-04-01 21:52:14
回答 1查看 68关注 0票数 1

我在Firebase中有一个用户和朋友集合,结构如下:

代码语言:javascript
复制
Users:
    UID-1
        Email
        Username
    UID-2
        Email
        Username
    ...

Friends:
    FID-1
        UID-1
        UID-2
    ...

用户名是公开的,但电子邮件是私密的,这是由现行规则强制执行的。我希望能够检索用户安全地使用的UID列表。

我发现它很简单,可以通过指定auth != nullauth.uid == $UID来强制访问用户名和电子邮件,但是如何使用户能够访问他们是朋友的用户文档呢?

作为规则的一部分,我可以查询数据库“内部”吗?也就是说。“只有当用户是朋友时才允许检索此文档(朋友信息存储在”朋友“目录中)?如果提出的解决方案需要重组数据或现有的安全规则,我是可以的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-02 14:56:16

经过一段时间的研究,我已经解决了这个问题,我想把我的解决方案发到任何有同样问题的人:

基本上,你可以通过为用户应用基于友谊的规则来“平分差异”,而可以应用一条阅读友谊的规则。因为UID是不可猜测的,所以您可以假设查询某个特定信息的人有理由这样做。那么,您所要做的就是管理对这些UID的访问。我是这样做的,如果你是当事人之一,我只允许你阅读友谊的细节。

例如。

".read" : "auth.uid === data.child('UID-1').val() || auth.uid === data.child('UID-2').val()"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71713086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档