例如,如果我想使用函数.auth.user((.onUserCreate((触发器,有没有办法让它为同一Firebase项目中的不同应用程序触发不同的函数?解决这个问题的唯一方法是为每个应用程序创建单独的Firebase项目吗?问题是我需要他们访问同一个数据库。
在云函数触发器中不可能知道用户创建帐户时使用了哪个应用程序。Firebase Auth帐户没有";所有权;关于每个项目的多个应用程序。项目中的所有应用程序共享具有相同权限的相同用户。
相反,你可以做的是,在创建帐户后,让每个应用程序在你的数据库中写一些唯一的东西,然后用它来确定该用户以后应该做什么。要么这样,如果你的应用程序实际上不需要共享同一组用户,也可以使用不同的项目。
我认为唯一可能对您有所帮助的是将您的云函数组织在不同的文件中,然后将每个项目加载这些文件。因此,例如,在Project Alpha
中,它将从foo.js
文件运行云函数,而在Project Beta
中,它会从bar.js
运行函数,其他项目和云函数的逻辑相同。
这样,即使所有用户都共享同一个数据库,它也会触发应用程序中所需的基于文件的函数。您可以在以下官方文档中查看在多个文件中组织云功能并单独调用它们的技巧:
- 组织功能
我相信这种方式可能适用于您,因此,我建议您查看文档,并尝试将函数拆分到多个文件中,并仅在其特定应用程序上调用每个特定文件。
如果这些信息对你有帮助,请告诉我!