我有一個用vue制作的帶有Firebase認證的web應用程式。這里的問題是,我需要在每次重新加載頁面時都要登錄。
uj5u.com熱心網友回復:
Firebase認證默認將用戶的憑證存盤在瀏覽器的本地存盤中,并在頁面重新加載時從那里恢復它。但這需要呼叫服務器,這意味著如果你在頁面加載時立即訪問Firebase.auth().currentUser,它可能還未被設定。
為了防止出現這種問題,請使用 auth 狀態監聽器,如關于 獲取當前用戶的檔案的第一個片段中所示。
對于 SDK 的第 8 版和更早的版本,應該是:
firebase.auth()。 onAuthStateChanged((user) => {
if (user) {
// User is signed in, see docs for a list of available properties[/span].
//https://firebase.google.com/docs/reference/js/firebase.User。
var uid = user.uid;
// ...
} else {
//用戶已簽出。
// ... }
}
});
對于v9:
import { getAuth, onAuthStateChanged } from "firebase/auth"。
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
// User is signed in, see docs for a list of available properties[/span].
//https://firebase.google.com/docs/reference/js/firebase.User。
const uid = user.uid;
/...
} else {
//用戶已簽出。
// ... }
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321038.html
標籤:
上一篇:在js中使用媒體查詢
