刷新Firebase令牌

刷新Firebase令牌

问题描述:

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

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

这工作正常,但过了一段时间此令牌过期。那么在它发送给nodejs api之前刷新这个令牌的最好方法是什么?

请注意:我是否需要每次请求currentUser.getToken()?

The currentUser.getToken(true)only当前令牌已过期时刷新令牌!所以它不会创建不需要的流量或请求到Firebase!

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

在这里,你会看到,我添加true作为参数传递给getToken()功能。这迫使刷新!

这是getToken()函数的Firebase Documentation

我希望有帮助!

+1

我认为你有它倒退。该文档指出,如果forceRefresh为true,那么它将刷新而不管过期。跳过forceRefrsh参数(默认为false)将返回相同的标记,直到它过期,然后提供一个新标记。 – WillB

+0

它看起来像你不能指定parameterrter ..我使用[4.4.0 JS SDK](https://github.com/firebase/firebase-js-sdk/blob/master/src/messaging /controllers/window-controller.ts) – peval27