您可以通过链接(即动态链接)共享Firestore文档吗?

时间:2018-08-19 20:17:07

标签: firebase firebase-authentication google-cloud-firestore

我有一个Firestore数据库,其中文档具有具有角色的用户。只有所有者和参与者才能查看/编辑文档。

我想发送某人可以单击的链接(通过电子邮件,消息,聊天等),它将带他们进入应用程序并要求加入文档。

如果我发送Firebase动态链接,是否可以在网址中发送Firestore DocumentID??如果不发送,发送DocumentID或对其的引用的正确方法是什么?

我愿意不使用Firebase动态链接。

1 个答案:

答案 0 :(得分:0)

假设您已将安全规则配置为仅允许正确的登录用户读取/写入该文档,并且该文档ID不包含日期(例如,它是随机ID,而不是电子邮件)地址),并且知道ID无法用于进行其他关联。

如果您担心上述任何一项,则可以创建以下形式的简单查找集合:

收藏:/lookup_links
文件编号:<Auto Id>
字段:

     document_id: <Real Document Id>,
     allowed_users: [<User Auth Id>, ...]

确保安全规则确认用户ID在上面的数组中,然后将此查找集合的自动ID发送给用户。然后,您的应用程序可以从此处执行读取操作,以通过我们的安全数据库连接获取真实ID。

此方法的好处是您可以通过删除查找文档来随时撤消访问权限,而不必担心文档ID仍在某人的电子邮件帐户中列出或被拦截(某些电子邮件仍通过网络进入plantext)。