Javascript 刷新Firebase令牌

Javascript 刷新Firebase令牌,javascript,angularjs,node.js,firebase,firebase-authentication,Javascript,Angularjs,Node.js,Firebase,Firebase Authentication,我正在使用web firebase javascript通过电子邮件和密码进行身份验证。这个过程生成一个令牌,我使用它在我的nodejs后端使用firebase admin进行验证。生成此令牌后,我将其存储在浏览器本地/会话存储中 前端是AngularJs,我截获http请求以注入存储在浏览器中的令牌 这可以正常工作,但是过了一段时间此令牌将过期。那么,在这个令牌发送到nodejsapi之前,刷新它的最佳方式是什么呢 注意:我是否应该在每个请求中重新请求currentUser.getToken(

我正在使用web firebase javascript通过电子邮件和密码进行身份验证。这个过程生成一个令牌,我使用它在我的nodejs后端使用firebase admin进行验证。生成此令牌后,我将其存储在浏览器本地/会话存储中

前端是AngularJs,我截获http请求以注入存储在浏览器中的令牌

这可以正常工作,但是过了一段时间此令牌将过期。那么,在这个令牌发送到nodejsapi之前,刷新它的最佳方式是什么呢


注意:我是否应该在每个请求中重新请求currentUser.getToken()。

当前用户.getIdToken()仅在当前令牌过期时刷新令牌!因此,它不会产生不必要的流量或对Firebase的请求

firebase.auth().currentUser.getIdToken(true) // here we force a refresh
.then(function(token) {
  // ... do stuff!
}).catch(function(error) {
  if (error) throw error
});
您将看到我添加了
true
作为
getIdToken()
函数的参数。这迫使刷新

下面是
getIdToken()
函数的示例


我希望这有帮助

我想你把它倒过来了。文档说明,如果forceRefresh为true,则无论到期时间如何,它都将刷新。跳过forceRefrsh参数(默认为false)将返回相同的令牌,直到该令牌过期,然后提供一个新的令牌。看起来您不能再指定该参数了。。我正在使用@jsnns,所以没有任何可能强制刷新令牌?我的应用程序有4种登录方式(Fb、谷歌、短信、电子邮件),一旦用户在同一设备上更改,令牌仍不会更新。我想我需要查看自定义令牌端?@Fikret最新版本的Firebase文档表明,
forceRefresh
参数仍然存在。