首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firebase的云功能可以在用户登录时执行吗?

Firebase的云功能可以在用户登录时执行吗?
EN

Stack Overflow用户
提问于 2017-09-27 16:30:17
回答 5查看 7.8K关注 0票数 14

我看到了如何在创建用户帐户时执行云功能:

代码语言:javascript
复制
exports.myFunction = functions.auth.user().onCreate(event => { 

但是我需要在用户登录时执行我的函数。有onLogin触发器吗?

有1500点的人能为firebase-cloud-functions创建一个标签吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-09-27 16:32:57

没有用于登录的事件,因为只有客户端才能准确地定义登录发生的时间。不同的客户可能以不同的方式定义这一点。如果您需要在登录时触发某项操作,请确定这一点何时在您的应用程序中,然后通过数据库或HTTP函数从客户端触发。

票数 11
EN

Stack Overflow用户

发布于 2017-10-02 22:37:09

这在控制器中起了作用:

代码语言:javascript
复制
firebase.auth().onAuthStateChanged(function(user) { // this runs on login
    if (user) { // user is signed in
      console.log("User signed in!");
      $scope.authData = user;
      firebase.database().ref('userLoginEvent').update({'user': user.uid}); // update Firebase database to trigger Cloud Function
    } // end if user is signed in
    else { // User is signed out
      console.log("User signed out.");
    }
  }); // end onAuthStateChanged

这是云函数中的触发器:

代码语言:javascript
复制
exports.getWatsonToken = functions.database.ref('userLoginEvent').onUpdate(event => { // authentication trigger when user logs in

我在Firebase数据库中创建了一个名为userLoginEvent的位置。

一个令人困惑的地方是,在函数控制台中,它是/userLoginEvent,但是在您的代码中,必须省略斜杠。

票数 9
EN

Stack Overflow用户

发布于 2019-05-08 09:06:52

您可以创建自己的分析事件,如login,并将其用作云功能的触发器。

然后,在您的应用程序中,当用户成功地进行身份验证时,您可以使用firebase分析来发送您定义的名称的事件,比如login

代码语言:javascript
复制
exports.sendCouponOnPurchase = functions.analytics.event('login').onLog((event) => {
  const user = event.user;
  const uid = user.userId; // The user ID set via the setUserId API.


});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46452921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档