如何在同一Firebase项目中为单独的应用程序运行不同的云功能?

时间:2020-07-16 02:36:57

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

例如,如果我想使用functions.auth.user()。onUserCreate()触发器,是否可以使它为同一Firebase项目中的不同应用程序触发不同的函数?解决此问题的唯一方法是为每个应用程序创建单独的Firebase项目吗?问题在于我需要他们访问相同的数据库。

2 个答案:

答案 0 :(得分:1)

我认为可能对您有帮助的唯一可能性是将Cloud Functions组织到不同的文件中,然后将每个项目加载该文件。因此,例如,在您的Project Alpha中,它将运行foo.js文件中的Cloud Functions,而在Project Beta中,它将运行bar.js中的函数其他项目和Cloud Functions的逻辑相同。

通过这种方式,即使所有用户都共享同一个数据库,它也会基于您在应用程序中所需的文件触发该功能。您可以在以下官方文档中查看有关在多个文件中组织Cloud Functions并分别调用它们的提示:

我相信这种方式可能对您有用,因此,我建议您检查文档,并尝试将功能拆分为多个文件并仅在特定应用程序上调用每个特定文件。

让我知道信息是否对您有帮助!

答案 1 :(得分:1)

不可能在Cloud Functions触发器中知道用户创建帐户时使用了哪个应用程序。对于每个项目的多个应用程序,Firebase Auth帐户没有“所有权”感。项目中的所有应用共享相同的用户,并具有相同的权限。

您可以做的是,在创建帐户后,让每个应用程序在数据库中编写一些唯一的内容,然后使用该内容确定该用户以后应该做什么。或者,或者如果您的应用实际上不需要共享同一组用户,则使用不同的项目。