【发布时间】:2021-03-19 19:11:18
【问题描述】:
User.getIdToken()(带有参数forceRefresh = false)是否在每次调用时都从服务器检索 ID 令牌?或者它是否缓存它,并且仅在检测到刷新到期时才联系服务器(或完全执行其他操作)?
还有一个后续问题 - 如果它确实每次都从服务器检索 ID 令牌,这是否意味着每次应用程序想要向其后端服务器发送请求时(必须包含 ID令牌,以便后端可以验证请求的真实性),它实际上必须首先联系 Firebase 服务器以获取 ID 令牌?因为那会变得很贵,对吧?
我知道每当我获得新的User 实例时,我都可以收听idTokenChanges 流并缓存ID 令牌,但我宁愿不必这样做,因为我不想要@987654325 @ 在 ID 令牌更改时重建 UI。相反,收听authStateChanges 意味着 UI 只能在登录和注销事件时重建,这正是我想要的。但后来我遇到了上述潜在问题(如果确实每次都查询服务器),即每次我想向应用程序的后端发送请求时,我都必须调用getIdToken()。
【问题讨论】:
标签: firebase flutter firebase-authentication