我有一个Firestore数据库,其中文档具有具有角色的用户。只有所有者和参与者才能查看/编辑文档。
我想发送某人可以单击的链接(通过电子邮件,消息,聊天等),它将带他们进入应用程序并要求加入文档。
如果我发送Firebase动态链接,是否可以在网址中发送Firestore DocumentID??如果不发送,发送DocumentID或对其的引用的正确方法是什么?
我愿意不使用Firebase动态链接。
答案 0 :(得分:0)
假设您已将安全规则配置为仅允许正确的登录用户读取/写入该文档,并且该文档ID不包含日期(例如,它是随机ID,而不是电子邮件)地址),并且知道ID无法用于进行其他关联。
如果您担心上述任何一项,则可以创建以下形式的简单查找集合:
收藏:/lookup_links
文件编号:<Auto Id>
字段:
document_id: <Real Document Id>,
allowed_users: [<User Auth Id>, ...]
确保安全规则确认用户ID在上面的数组中,然后将此查找集合的自动ID发送给用户。然后,您的应用程序可以从此处执行读取操作,以通过我们的安全数据库连接获取真实ID。
此方法的好处是您可以通过删除查找文档来随时撤消访问权限,而不必担心文档ID仍在某人的电子邮件帐户中列出或被拦截(某些电子邮件仍通过网络进入plantext)。