我目前正在使用Firebase,以便用戶使用其Google帳戶登錄以訪問該應用。但是,關閉頁面/在新選項卡中打開頁面需要用戶再次登錄。有沒有辦法阻止用戶重新登錄?堅持使用Google登錄在Firebase上登錄?
這裏是我使用(從火力文檔的例子)
function firebaseLogin() {
firebase.auth().signInWithPopup(provider).then(function(result) {
var token = result.credential.accessToken;
var user = result.user;
document.getElementById('user-name').innerHTML = user.displayName;
document.getElementById('propic').src = user.photoURL;
addClass(login, 'hidden');
removeClass(logout, 'hidden');
var snackbarData = {
message: 'Login Successful',
timeout: 2000
};
snackbarContainer.MaterialSnackbar.showSnackbar(snackbarData);
console.log(user);
reloadList();
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
var snackbarData = {
message: 'Login Unsuccessful',
timeout: 2000
};
snackbarContainer.MaterialSnackbar.showSnackbar(snackbarData);
console.error(error);
});
}
沒有看到[重現最小代碼問題](http://stackoverflow.com/help/mcve),不可能說出爲什麼你的應用程序的行爲方式如此。 –
請指定您正在使用的環境。另外,請確保您使用的是身份驗證狀態觀察者來檢查當前身份驗證狀態。在加載時同步檢查firebase.auth()。currentUser不會返回當前登錄的用戶(狀態確定是異步操作)。一些開發者犯了這個錯誤。 – bojeil
啊,這是有道理的。當我回到這個項目時,我將切換到使用身份驗證狀態觀察器。至於環境,這是一個web項目,在瀏覽器(clientside)中只使用javascript。 – ROODAY