我有2个带有Firestore的Firebase项目,我们称它们为A和B。 他们两个都有自己的Web客户端。现在,A网络客户端需要读取B消防站数据库,因此我需要允许A客户端在B的某些集合下对消防站执行某些操作。 有没有办法使用B中的A中的A身份验证数据来允许此类操作,同时使用Firestore规则? 有没有一种方法可以从A链接身份验证令牌以允许它们进入B?。
任何机制都行得通。理想的做法是继续使用A中的客户端Web SDK,同时从B和A指向Firestore,并为两者重新使用相同的身份验证。这可能吗?
答案 0 :(得分:1)
Firestore安全规则无法查看部署它们的项目外部的数据或帐户。您需要通过一些后端API端点路由您的客户端,以便能够检查来自多个来源的数据。
如果您希望A的用户在B上拥有某种“自动”帐户而不必再次登录,则可以在B上创建一个custom token(同样,使用您控制的后端),以允许用户在第二个项目中使用“并行”帐户使用相同的UID进行身份验证。关于B的规则仍将限于该帐户中的立即数据,并且将无法直接访问A中的任何内容。