【问题标题】:How to persist user after Firebase Token expired in 1 hour?Firebase 令牌在 1 小时内过期后如何保留用户?
【发布时间】:2020-02-23 11:27:46
【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

    标签: firebase-authentication refresh-token


    【解决方案1】:

    在您手动调用平台 SDK 提供的 signOut 方法之前,用户登录始终存在。您无需执行任何操作即可让刷新令牌工作 - 这一切都由 SDK 管理。

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

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

    【讨论】:

    猜你喜欢
    • 2017-11-15
    • 2018-01-20
    • 1970-01-01
    • 2020-12-19
    • 2019-03-06
    • 1970-01-01
    • 2021-03-07
    • 2021-06-15
    • 1970-01-01
    相关资源
    最近更新 更多