【发布时间】:2020-12-05 13:27:42
【问题描述】:
这是我在基于 Firebase 的身份验证应用程序中检查用户当前身份验证状态的代码。我希望访问auth.onAuthStateChanged 函数之外的用户参数(user.uid、user.photoURL 等)以将其用于其他操作,但我无法这样做,因为var user = firebase.auth().currentUser; 和其他类似方法正在返回null,因为因为 Firebase-Auth 不加载。我将不胜感激。
const auth = firebase.auth();
auth.onAuthStateChanged(function(user) {
if (user) {
authState = true;
createUser(user.uid, user.displayName, user.photoURL);
console.log("Current state: Logged in, User ID: " + user.uid);
} else {
authState = false;
console.log("Current state: Logged out");
}
});
【问题讨论】:
-
不清楚你是如何尝试访问
firebase.auth().currentUser的,记住这是一个同步访问,在用户登录之前会返回null,之后会返回一个用户 他们进行了身份验证(即在 onAuthStateChanged 被新用户触发之后)。如果你想访问currentUser,你需要确保它在用户登录后被访问。你有例子吗?
标签: javascript firebase firebase-authentication