2016-05-31 34 views
2

我不知道如何共享我的網站之間的身份驗證。例如,我想在用戶登錄login.html後將身份驗證傳遞給主頁。Firebase通過網頁之間的身份驗證

是什麼問題:用戶在login.html的登錄

後,將創建的認證。

//login.html 
var user = firebase.auth().currentUser; 
if (user) { 
    // User is signed in. 
} 

但是,我需要location.href更改用戶登錄後的Home.html。

//login.html 
if (user) { 
    // User is signed in. 
    location.href = "home.html"; 
} 

那麼,什麼是,確保身份驗證更改網頁的時候解決?

//home.html 
    if (user) { 
     // 
    }else { 
     // No user is signed in. 
    } 

網/ login.html的< - >網絡/ home.html的

回答

1

火力地堡通過存儲在本地存儲會話ID跟蹤頁面之間的認證狀態。

確保您的用戶流暢流動的最佳方式是monitor the authentication state。從文檔:

推薦的方式來獲得當前用戶是通過驗證對象上設置觀察員:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    } else { 
    // No user is signed in. 
    } 
}); 

通過使用一個觀察者,你保證驗證對象當你得到當前用戶時,它不處於中間狀態 - 例如初始化。

+2

因此,我正在登錄頁面上正確地獲取當前用戶,但是當我嘗試在主頁上以與firebase.auth()。currentUser.uid相同的方式調用它時,它顯示爲空...不確定爲什麼? – Lion789