我的Firebase客户端应用程序与自定义后端服务器通信,因此我需要发送 ID
对我的服务器的每个HTTPS请求进行令牌。从参考,
Should only be set to true if the token is invalidated out of band
- 我应该什么时候设置
forcerefresh
布尔值 true
?
- 是否可以获得令牌(使用
forcerefresh
在我的自定义服务器的每个HTTPS请求期间,为false)。 (当它作为任务返回时,我应该将它存储在我的本地缓存中,这样我就不必添加任何任务侦听器并且可以在同一个线程中处理请求)
编辑:
现在谷歌提供了新的api,如果它已过期将自动刷新令牌。
getIdToken(forceRefresh) returns firebase.Promise containing string
来自Google文档
如果当前令牌尚未过期,则返回当前令牌,否则将刷新令牌并返回新令牌
通常,将forceRefresh设置为false。这是推荐的行为。但是,这取决于你在做什么。
您可能希望始终确保令牌是最新的并且可以同步使用。为此,您必须在令牌过期前刷新几分钟。如果你调用getToken(false),你将获得即将到期的缓存令牌,这是不希望的。在这种情况下,您强制刷新并更新令牌。通过这样做,您可以确保始终同步拥有未到期的令牌。
通常,将forceRefresh设置为false。这是推荐的行为。但是,这取决于你在做什么。
您可能希望始终确保令牌是最新的并且可以同步使用。为此,您必须在令牌过期前刷新几分钟。如果你调用getToken(false),你将获得即将到期的缓存令牌,这是不希望的。在这种情况下,您强制刷新并更新令牌。通过这样做,您可以确保始终同步拥有未到期的令牌。
除非您想强制刷新它,否则将其设置为false。如果将其设置为false,Firebase将获取缓存的令牌(如果尚未过期)或刷新令牌并将其返回(如果已过期)。
https://firebase.google.com/docs/reference/js/firebase.User#getToken