android - 我们什么时候应该将 FirebaseUser.getToken(Boolean forcerefresh) 设置为 true?

标签 android firebase firebase-authentication

我的 Firebase 客户端应用程序与自定义后端服务器通信,因此我需要将 ID token 与每个 HTTPS 请求一起发送到我的服务器。从引用,

Should only be set to true if the token is invalidated out of band
  1. 我什么时候应该将 forcerefresh bool 值设置为 true
  2. 在对我的自定义服务器的每个 HTTPS 请求期间是否可以获取 token (使用 forcerefresh 作为 false)。 (当它作为任务返回时,我是否应该将它存储在我的本地缓存中,这样我就不必添加任何任务监听器并且可以在同一线程中处理请求)

编辑: 现在 google 提供了新的 api,如果 token 过期,它会自动刷新。

getIdToken(forceRefresh) returns firebase.Promise containing string

来自 Google 文档

Returns the current token if it has not expired, otherwise this will refresh the token and return a new one

最佳答案

一般情况下,将 forceRefresh 设置为 false。这是推荐的行为。但是,这取决于您在做什么。 您可能希望确保您的 token 始终是最新的并且同步可用。为此,您必须在 token 过期前几分钟刷新。如果您调用 getToken(false),您将取回即将过期的缓存 token ,这是不需要的。在这种情况下,您可以强制刷新并更新 token 。通过这样做,您可以确保您始终同步拥有未过期的 token 。

关于android - 我们什么时候应该将 FirebaseUser.getToken(Boolean forcerefresh) 设置为 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154333/

相关文章:

java - 如何获取日期时间选择器的值?

android - 如何在向下滚动 ListView 时隐藏选项卡,然后在用户向上滚动时再次显示它们?

android - 从广告点击返回后 Activity 重新启动

javascript - 使用 NodeJS 的 Firebase 身份验证

javascript - 传递异步错误的正确方法

Firebase如何知道特定客户端离线?

java - 从 Java 源代码创建 DEX 文件

android - Android 上的 Firebase : How to check Firebase auth failed reason?

android - 为 Firebase Analytics 的底部工作表屏幕设置自定义屏幕名称

ios - Firebase 数据库架构 - 像 Snapchat