Firebase令牌在1小时内过期后,如何保留用户?

时间:2019-10-28 07:05:34

标签: firebase-authentication refresh-token

我在项目中使用Firebase,并使用getIdToken()方法返回令牌并验证用户身份。但是,由于令牌过期,应用程序中的用户会话始终会在1小时后过期,如何在用户会话过期后继续保存该用户会话?

我已经阅读了Firebase文档以及有关此问题的其他问题,似乎我必须使用刷新令牌在令牌到期后继续会话,但是我仍然不完全理解并且发现很难实现。例如,我从How to use the Firebase refreshToken to reauthenticate?Firebase: When should I use refreshToken?中读取了答案,据我所知,这意味着当我们拨打电话时。getIdToken(true)Firebase已经管理了刷新令牌,因此我们不需要处理,对吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

用户登录始终保持不变,直到您手动调用平台的SDK提供的signOut方法为止。您无需执行任何操作即可使刷新令牌起作用-这也全部由SDK管理。

您需要做的是使用“身份验证状态侦听器”来确定刷新何时完成,因为它不是瞬时的。如果您不使用侦听器,而是直接访问“ currentUser”,则当前用户将显示为空,直到刷新成功。离线时刷新不会成功,也不会立即刷新。

由于您尚未说明正在使用的平台,因此我无法提供相关文档的链接,但是所有方案都相似。