Skip to content Skip to sidebar Skip to footer

Firebase Auth State Changes After Creating New User

Auth state changes when a new user is created with email and password. I implement firebase.auth().onAuthStateChanged() observable to watch login state in my app. But it have tool

Solution 1:

while creating the user using firebase.auth().createUserWithEmailAndPassword() it will automatically logged out the current user and will logged into the newly created user.To avoid this you have to create the new user using admin sdk.

here is the sample code:

exports.createUser = functions.firestore
.document('user/{userId}')
.onCreate(async (snap, context) => {
    try {
        const userId = snap.id;
        const batch = admin.firestore().batch();
        const newUser = await admin.auth().createUser({
            disabled: false,
            displayName: snap.get('name'),
            email: snap.get('email'),
            password: snap.get('password')
        });

        const ref1 = await 
        admin.firestore().collection('user').doc(newUser.uid);
            await batch.set(ref1, {
            id: newUser.uid,
            email: newUser.email,
            name: newUser.displayName,
            createdAt: admin.firestore.FieldValue.serverTimestamp()
        });
        const ref3 = await admin.firestore().collection('user').doc(userId);
        await batch.delete(ref3);
        returnawait batch.commit();
    }
    catch (error) {
        console.error(error);
    }

});

Post a Comment for "Firebase Auth State Changes After Creating New User"