📅  最后修改于: 2023-12-03 15:00:45.801000             🧑  作者: Mango
Firebase是一个实时数据库和后端服务的平台,强调数据的实时同步和易于使用。在Firebase中,您可以轻松使用身份验证来保护您的应用程序,并为每个已登录的用户提供个性化体验。本文将介绍如何使用Firebase获取当前登录用户的代码与详细代码解释。
您可以使用Firebase Auth模块中的currentUser
属性获取当前用户。例如,以下代码段演示如何使用该属性:
const user = firebase.auth().currentUser;
if (user) {
// User is signed in.
const name = user.displayName;
const email = user.email;
const photoUrl = user.photoURL;
const uid = user.uid;
} else {
// No user is signed in.
}
在上面的代码中,我们使用firebase.auth()
来获取与Firebase Auth模块的实例,然后使用该实例中的currentUser
属性检索当前用户。如果用户已登录,则可以使用该属性的其他属性displayName
、email
、photoURL
和uid
来检索有关该用户的详细信息。
下面的示例演示如何在JavaScript中将Firebase的Auth模块一起使用,以获取当前用户:
// Initialize Firebase app
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
databaseURL: "YOUR_DATABASE_URL",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID",
measurementId: "YOUR_MEASUREMENT_ID"
};
firebase.initializeApp(firebaseConfig);
// Check if user is logged in
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
const name = user.displayName;
const email = user.email;
const photoUrl = user.photoURL;
const uid = user.uid;
console.log("User " + name + " is logged in with email " + email + " and UID " + uid);
} else {
// No user is signed in.
console.log("No user is signed in.");
}
});
在上面的代码中,我们使用firebase.initializeApp()
方法初始化Firebase应用程序,使用firebase.auth().onAuthStateChanged()
方法检查用户是否已登录,并使用firebase.auth().currentUser
属性检索当前用户。
在firebase.auth().onAuthStateChanged()
方法中,我们指定回调函数来处理当前用户状态的更改。如果用户已经登录,则输出有关该用户的详细信息。如果没有用户登录,则输出“没有用户登录”消息。
通过Firebase,您可以轻松使用身份验证来保护您的应用程序,并提供个性化体验。在本文中,我们介绍了如何在JavaScript中获取当前登录的用户,以及如何使用firebase.auth().currentUser
属性来检索有关该用户的详细信息。现在,您可以在Firebase应用程序中使用此功能来提供更好的用户体验。