我正在使用onAuthStateChanged
:
this.unregisterAuthObserver = firebase.auth().onAuthStateChanged(user => {
if (user) {
user.getIdToken(true).then((idToken) => {
console.log(user)
...
});
}
当登录的用户空闲1小时后,idToken
到期。 idToken
到期后该怎么办?尝试向用户显示一些UI。显示模式以使用户知道会话已过期?还是重新加载页面location.reload()
?
还能获得idToken
的到期时间吗? console.log(user)
没有让我过期时间
答案 0 :(得分:2)
您将要使用onIdTokenChanged()。如API documentation中所述:
为已登录用户的ID令牌添加更改观察者,该观察者 包括登录,注销和令牌刷新事件。
令牌刷新事件是您感兴趣的。
但是令牌过期时,您无需执行任何操作。 Firebase身份验证将无缝refresh it for you automatically。