jre*_*emi 2 firebase firebase-authentication
我目前正在使用客户端上的 firebase 用户身份验证方法在客户端应用程序(基于 Cordova 的移动应用程序)上使用 Firebase:
根据我目前对会话到期的理解和经验:
“身份验证会话不会随着 Firebase 登录而过期。但 ID 令牌必须每小时刷新一次,以保持对服务的访问。 “
我认为这意味着我应该编写一个每 59 分钟运行一次的后台进程方法并运行 firebase 方法:
firebase.auth().currentUser.getIdToken(true) // true 表示根据 firebase 文档强制刷新,无论当前令牌到期。
我只是想确保我已经解决了这个问题。
我正在做一些像这样简单的事情......这应该可以解决问题:
let firebaseTokenRefresh = setInterval(function(){
console.log('running firebase token refresh...');
// true = forceRefresh
firebase.auth().currentUser.getIdToken(true);
}, 3540000); // 59 minutes firebase token refresh (1 hr expiration)
Run Code Online (Sandbox Code Playgroud)
谢谢。
无需主动刷新令牌(这样做成本太高)。无论何时您需要 ID 令牌,您只需调用user.getIdToken(). 如果当前令牌已过期,这将返回缓存的未过期令牌或刷新它。您可以在向服务器发送经过身份验证的请求时随时调用它。如果您使用 Firestore 或实时数据库,它们会在需要时自动为您刷新令牌。您可以通过auth.onIdTokenChanged()侦听器侦听令牌更新。
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |