默认情况下,云功能不接受onLoging,我如何"绕过"这个限制,以便每次用户"在线"时都能运行云功能。
到目前为止,我的想法是在logIn上运行一个创建文档并监听它,但当用户没有登录而是使用他的最后一个时间会话时会发生什么?
我是否在isLogged函数上运行相同的post请求?该函数可以在应用程序运行时多次运行,因此不是最佳的。
在appinit(angular 7(上运行函数就是这里的解决方案吗?
只有您才能定义应用程序的"会话"。没有可用于触发云函数的通用定义。Firebase身份验证对此也没有帮助,因为用户是"永远"登录的,直到您的代码明确地将他们注销(它每小时自动刷新用户的身份验证令牌(。
您必须编写自己的代码,才能根据您决定用户已"登录"或"注销"的任何规范来解决此问题。
您可以创建一个函数,该函数在使用函数.auth.user((.onCreate((事件处理程序创建Firebase用户时触发:
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
// ...
});
https://firebase.google.com/docs/functions/auth-events?hl=en-419
但您可以选择在用户登录时在客户端进行写入操作