Step-by-step guide to storing extra user data in Firebase Auth. Learn to set up Firebase, authenticate users, and integrate Firestore for CRUD operations.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
Step 1: Set Up Firebase in Your Project
To get started, ensure that you have a Firebase project set up. If not, create one on the Firebase Console.
Download the necessary configuration files for your platform.
Add Firebase to your project by including Firebase SDKs.
For web applications, add the Firebase SDK:
<!-- The required Firebase libraries -->
<script src="https://www.gstatic.com/firebasejs/YOUR_VERSION_NUMBER/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/YOUR_VERSION_NUMBER/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/YOUR_VERSION_NUMBER/firebase-firestore.js"></script>
For Node.js environments, install necessary packages:
npm install firebase
Initialize Firebase in your application:
// For web apps
var firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
Step 2: Authenticate Users
Authenticate users using Firebase Authentication. You can use email/password, Google Sign-In, or any other provider.
For email/password authentication:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then((userCredential) => {
var user = userCredential.user;
// User created
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
// Handle errors
});
You can use a similar method for sign-in:
firebase.auth().signInWithEmailAndPassword(email, password)
.then((userCredential) => {
var user = userCredential.user;
// User signed in
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
// Handle errors
});
Step 3: Store Additional User Data
Once a user is authenticated, you can store additional information in Firestore, a scalable database offered by Firebase.
First, initialize Firestore:
var db = firebase.firestore();
After a user is created, store additional data:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then((userCredential) => {
var user = userCredential.user;
// Add additional data in Firestore
return db.collection('users').doc(user.uid).set({
name: 'User Name',
age: 30,
additionalField: 'Additional Data'
});
})
.then(() => {
console.log('User data stored');
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
console.error('Error: ', error);
});
Step 4: Retrieve User Data
To retrieve stored user data, you need to access Firestore:
firebase.auth().onAuthStateChanged((user) => {
if (user) {
var uid = user.uid;
var docRef = db.collection('users').doc(uid);
docRef.get().then((doc) => {
if (doc.exists) {
console.log('User data: ', doc.data());
} else {
console.log('No such document!');
}
}).catch((error) => {
console.log('Error getting document:', error);
});
} else {
// No user is signed in.
}
});
Step 5: Update User Data
To update user data, use the update method in Firestore:
var user = firebase.auth().currentUser;
var updateRef = db.collection('users').doc(user.uid);
updateRef.update({
name: 'Updated Name',
age: 31
})
.then(() => {
console.log('User data updated');
})
.catch((error) => {
console.error('Error updating document: ', error);
});
Step 6: Delete User Data
If you need to remove user data, use the delete method:
var user = firebase.auth().currentUser;
var deleteRef = db.collection('users').doc(user.uid);
deleteRef.delete().then(() => {
console.log('User data deleted');
}).catch((error) => {
console.error('Error removing document: ', error);
});
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.