带有firebase身份验证的Ionic3应用程序会在24小时后自动注销用户(登录不会持续)
我已经使用ionic3和firebase javascript angularfire2身份验证发布了一些商业android和ios应用程序。我开始收到用户投诉,用户在一段时间后不得不重新登录。一段时间后(感觉应用程序中的活动时间超过24小时),用户将注销。大多数投诉都与IOS应用程序有关。而其他一些ios用户则报告称已数周不活动,仍需登录同一应用程序。这些用例看起来是随机的,也许是,我在这里添加它们只是为了完整 根据文档,我使用的代码非常简单带有firebase身份验证的Ionic3应用程序会在24小时后自动注销用户(登录不会持续),firebase,authentication,firebase-authentication,ionic3,angularfire2,Firebase,Authentication,Firebase Authentication,Ionic3,Angularfire2,我已经使用ionic3和firebase javascript angularfire2身份验证发布了一些商业android和ios应用程序。我开始收到用户投诉,用户在一段时间后不得不重新登录。一段时间后(感觉应用程序中的活动时间超过24小时),用户将注销。大多数投诉都与IOS应用程序有关。而其他一些ios用户则报告称已数周不活动,仍需登录同一应用程序。这些用例看起来是随机的,也许是,我在这里添加它们只是为了完整 根据文档,我使用的代码非常简单 this.afAuth.auth.setP
this.afAuth.auth.setPersistence('LOCAL');
this.afAuth.authState.subscribe(
(user) => {
if (!user) {
//Logout
this.logout.next({});
}
else {
//Login
this.authenticated.next(user);
}
}
);
注销和验证是主题
我为解决这一问题所做的努力:
- 将持久状态设置为本地。即使firebase现在表示不再需要此功能。firebase项目中没有任何选项可以指定会话长度李>
- 将所有内容更新到最新版本李>
- 根据最新的firebase文档,不需要手动刷新或存储令牌李>
- 后台刷新插件是否有助于防止会话令牌过期?(即使firebase声称它不会过期)李>
- 从firebase导入*之间是否存在冲突;还有angularFire2李>
这仅影响用户接近空间限制的IOS,请参见下面的备注 Cordova应用程序的iOS设备中存在
localStorage
不可靠(内存不足时清除)的问题。切换到Firebase版本4.13.0
,该版本现在使用indexedDB
存储身份验证状态。这更可靠,在这种情况下应该坚持。亲爱的@bojeil,哇,你的速度太快了,4.13.0已经在10小时前发布了。谢谢你的快速提示。我听说过本地存储的问题。昨天,我和一位遇到重新登录问题的客户一起检查了他的iPhone7光盘使用情况。他仍然有0.5克的自由。所以它还没有满,但仍然偏高,可能会引发垃圾收集。我将测试您关于升级的提示,但可能需要一些时间才能得到一些结果。你在哪里找到了4.13.0的发行说明,我在他们的github和网站上都找不到。谢谢你的提示!找到发行说明:您确定现在支持indexDB的是js firebase 4.13.0,而不是IOS one吗?4.12.0开始支持indexDB,但在4.13.0中修复了一些问题。我指的是JS库。谢谢,我无法使用4.13.0或4.13.1进行测试,因为它会给我带来内存错误。我做了一张firebase js罚单:我可以使用4.12.1,但正如你所说的,3.13解决了一些问题。不幸的是,升级到5.0.3后,少数相同用户的问题仍然存在。有故障排除的提示吗?如果我能为这些用户了解他们被系统注销的原因,那就太好了。