刷新Firebase令牌

时间:2017-03-06 01:48:25

标签: javascript angularjs node.js firebase firebase-authentication

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

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

这样做很好,但是一段时间后这个令牌就会过期。那么在它发送到nodejs api之前刷新这个令牌的最佳方法是什么?

注意:我应该为每个请求取消currentUser.getToken()吗?

1 个答案:

答案 0 :(得分:3)

currentUser.getToken(true) 仅在当前令牌过期时刷新令牌!因此,它不会为Firebase创建不需要的流量或请求!

firebase.auth().currentUser.getToken(true)
.then(function(idToken) {
  // ... do stuff!
}).catch(function(error) {
  if (error) throw error
});

在这里,您会看到我添加了true作为getToken()函数的参数。这迫使刷新!

以下是getToken()函数的Firebase Documentation

我希望有所帮助!