Firebase 会话过期时是否有回调?

Firebase 会话过期时是否有回调?,firebase,angularfire,firebase-authentication,Firebase,Angularfire,Firebase Authentication,我想知道是否有任何回调会触发,当会话过期时,我正在使用带$authWithPassword的Simplelogin。我已经用谷歌搜索过了,偶然发现: 但是我不明白auth方法的回调是如何侦听会话的,因为当用户登录时它只执行一次。或者它的回调上实际上有一个事件侦听器` 我尝试使用带有expires:new Date.getTime+1000/1000的选项参数来测试登录名。它说,它需要以秒为单位的时间戳,而不是以毫秒为单位的时间戳,但我没有得到结果 非常感谢您的帮助。我的解决方案:在伪代码步骤中,

我想知道是否有任何回调会触发,当会话过期时,我正在使用带$authWithPassword的Simplelogin。我已经用谷歌搜索过了,偶然发现:

但是我不明白auth方法的回调是如何侦听会话的,因为当用户登录时它只执行一次。或者它的回调上实际上有一个事件侦听器`

我尝试使用带有expires:new Date.getTime+1000/1000的选项参数来测试登录名。它说,它需要以秒为单位的时间戳,而不是以毫秒为单位的时间戳,但我没有得到结果

非常感谢您的帮助。

我的解决方案:在伪代码步骤中,可以帮助您使用完整的javascript。 1.通过执行以下操作获取时间偏移服务器/客户端: 1.1. 登录时,在Firebase对象(即在线列表)中设置clientTime Date.now和serverTime Firebase.ServerValue.TIMESTAMP 1.2. 成功后,以毫秒为单位读取并获取时间偏移量 2.window.setTimeout与您的受控注销功能,即unauth和以下超时值: 超时2.2微秒:通过auth登录时,您将获得authData.expires,使用此值计算超时值: authData.expires*1000-Date.now+that.serverTimeOffset-2000

使用*1000,因为authData.expires只需几秒钟。 用户-2000,因为您必须比firebase更快地进行unauth,因此会断开您的连接:-
我对这个解决方案非常满意。它非常适合我的多人浏览器游戏。

您正在寻找$onAuth。看,我不能支持你的评论,笨蛋!谢谢大家,我需要学习仔细阅读手册!