考虑role based access解决方案。以下约束条件成立:
考虑到约束如何在故事中共享或添加协作者?鉴于Alice知道Bobs电子邮件,但她不知道他的UID,或者他是否使用了故事应用程序。
范围限制的所有文档基本规则和UID上的查询但由于该信息不公开,我很难看到如何将UID添加到文档而不暗示:
我最初的想法是使用电子邮件地址密钥,但这不起作用。 SO issue
答案 0 :(得分:2)
我通过使用两个云功能解决了这个问题。在客户端,我只是添加已知信息,即电子邮件地址。然后,我利用一个函数来更新所有相关文档,用用户的UID替换电子邮件地址。
用户创建时会触发一个云功能。这解决了用户从未使用过或登录过应用程序的情况。
Trigger a function on user creation
第二个云功能会在更改时更新文档。这解决了用户已经是应用程序用户且具有有效UID的情况。